2017.W19 - 橢圓曲線加密 ECC - 資安

Irma avatar
By Irma
at 2017-05-09T20:58

Table of Contents

2017.W19 - 橢圓曲線加密 ECC
> 學術介紹 輕鬆了解

## 前言 ##
橢圓曲線加密 (Elliptic Curve Cryptography, ECC)[0]

是基於橢圓曲線數學的一種公開金要加密演算法

相對於 RSA 可以用較短的金鑰來獲得相等的安全防護


## 內容 ##
橢圓曲線 (Elliptic Curve)[1] 是數學上一個代數曲線的分類

可以利用通式 : y^2 = x^3 + ax + b 來表示

原則上來說 所有 y 為二次且 x 為三次的多項式函數 都可透過伸縮與平移來獲得通式形式

橢圓曲線有若干特色與性質:

1. 沒有 cusp[2] 與 crunode[3]
2. 假設無窮遠點為 O,則 EC 跟直線必有三個根




相對於 RSA 是把質因數分解[5]當作是破解的困難點

ECC 則是把離散對數 (Discrete Logarithm) [6] 當作是破解的關鍵

給定一個質數 p 給定一個 數字 k 與 c
找到一個 m 滿足 c = m^k (mod p) 是困難的



把兩個概念整合起來 ECC 就是一個在橢圓曲線上的 Galois Field 的運算

其中的運算如下:

0. 無限遠的點為 0
1. P、Q 為 EC 上的一個點
2. P + 0 = P
3. P - P = 0
4. P + Q = -Z, 且 P, Q, Z 在同一個直線且同時為 EC 上的三個根
5. 2*p = P + P,同規則 4 且直線為切線

而 ECDLP (Elliptic Curve Discrete Logarithm Problem) 就是解決

給定一個橢圓曲線 C,並且任意給兩點 P、Q
找到一個 k 滿足 k * P = Q (on C)



## 驗證 ##
用一個 DLP 來當做例子:

假設有一個 GF(23) 也就是可用元素為 0 ~ 22,且所有運算都需要 module 23

計算 4 ^ 5 (mod 23) 是簡單的 用 Python 的語法則會是 pow(4, 5, 23)

計算方式為:4^5 = 4 * 4^4 其中我們可以快速鍵表格

4 = 4 (mod 23)
4^2 = 16 (mod 23)
4^4 = 3 (mod 23)

因此 pow(4, 5, 23) = 12

相反的... x^7 = 7 (mod 23) 要找出來 x 則是困難的 (一個有效的計算方式)



至於 ECDLP 有興趣的人 可以 Google 找相關的資料檢驗他的困難程度



[0]: https://zh.wikipedia.org/wiki/%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF%E5%AF%86%E7%A0%81%E5%AD%A6
[1]: https://zh.wikipedia.org/wiki/%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF
[2]: https://zh.wikipedia.org/wiki/%E5%B0%96%E9%BB%9E
[3]: https://en.wikipedia.org/wiki/Crunode
[4]: https://zh.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E5%9F%9F
[5]: https://zh.wikipedia.org/wiki/%E6%95%B4%E6%95%B0%E5%88%86%E8%A7%A3
[6]: https://en.wikipedia.org/wiki/Discrete_logarithm

--
Tags: 資安

All Comments

Carolina Franco avatar
By Carolina Franco
at 2017-05-13T15:42
push
Annie avatar
By Annie
at 2017-05-16T16:38
推薦文章。
Michael avatar
By Michael
at 2017-05-17T19:23
wjo

CVE-2017-0290 RCE on Microsoft Malware Protection

Joseph avatar
By Joseph
at 2017-05-09T15:40
CVE-2017-0290 - RCE on Microsoft Malware Protection Engine 簡單來說 快點升級你的 Windows 吧 [0]: https://technet.microsoft.com/en-us/library/security/4022344.asp ...

2017.W18 - 關注安全問題

Andy avatar
By Andy
at 2017-05-02T21:34
2017.W18 - 關注安全問題 andgt; 問題跟暗戀一樣 在你面前你卻不知道 ## 前言 ## 主要跟大家分享 在資訊安全這個領域中 需要時常關注各大來源的第一手消息 像是訂閱 CVE / Linux distro security fix / 各大 open source project ...

並非金錢至上,青少年黑客中不乏理想主義

Zenobia avatar
By Zenobia
at 2017-04-27T11:05
有著使命感的黑客是有的,他們的專業技術應該被重視,好文分享大家 == https://pcdailyon.com/20170423_560541.html 英國 NCA(國家打擊犯罪局,類似於美國的 FBI)的一份調查顯示,青少年黑客們的驅動 力並不是金錢,而是理想主義以及在同伴面前炫耀的欲望。此次調查中 ...

StrngBleed (CVE 2017-5135)

Hedda avatar
By Hedda
at 2017-04-27T10:50
https://stringbleed.github.io/ 按照描述 SNMP 的認證機制可以被 Bypass [1] 無論是使用 v1/v2 ... [1]: https://www.reddit.com/r/netsec/comments/67qt6u/cve_20175135_snmp_au ...

轉資安領域 證照如何開始準備

Michael avatar
By Michael
at 2017-04-26T11:28
目前是走全端(HTML CSS Javascript JQuery React + Java Spring MVC + 其他) 之前有上過一些Coursera Edx的資安課,比如密碼學之類的, 還有準備考試時也買過幾本資訊安全的書來K過,大概有點點基礎 現在考慮轉嘗試資安領域,或是考幾張資安證照為自己加分 ...