See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
이산 로그 - 위키백과

이산 로그

위키백과 ― 우리 모두의 백과사전.

추상대수 분야에서, 이산 로그(離散 -, discrete logarithms)는 일반 로그와 비슷하게 에서 정의된 연산이다. 로그(logarithm)를 대수(對數)라 부르기도 하므로, 이산대수(離散對數)라고 하기도 한다.

이산 로그의 가장 단순한 형태는 Zp*에서 정의하는 것이다. Zp*의 집합은 {1, …, p − 1}이고 소수 p를 법으로 가지는 모듈로 곱셈에 대하여 닫혀있다. 이 군에서 어떤 수의 k 제곱을 구하려면, 그 수를 k번 제곱한 다음 p로 나눈 나머지를 구하면 된다. 이런 연산을 이산 거듭제곱(discrete exponentiation)이라고 한다. 예를 들어, Z7*에서 3의 5제곱을 구하는 경우, 35=243 이고 243을 7로 나눈 나머지가 5이므로 Z7*에서 35=5이다. 이산 로그는 이산 거듭제곱의 역함수이다. 앞의 예제를 사용하여 설명하면, 3k ≡ 5 (mod 7)일때 이 조건을 만족시키는 가장 작은 kZ7*에서 밑이 3인 5의 이산 로그값이다.

이산 로그의 정의를 일반화하면 다음과 같다. Gn개의 원소를 가진 유한 순환군이라고 하자. 이 군은 곱셈군이라고 가정한다. bG의 생성원이면 G의 모든 원소 x는 임의의 정수 k에 대하여 x = bk의 형태로 쓸 수 있다. 또한 x를 표현하는 모든 원소들은 모듈로 n에 대해 합동이다. 이런 조건에서 다음과 같은 함수를 정의한다.

\log_b:\  G\ \rightarrow\ \mathbf{Z}_n

여기서 Zn은 정수 n을 법으로 가지는 이고 x에는 모듈로 n에 대한 congruence class를 할당한다. 이와 같은 군 동형사상을 밑이 b인 이산 로그라고 부른다.

로그 함수의 밑변환은 이산 로그에서도 그대로 적용된다. cG의 또다른 생성원이면, 다음 식이 성립한다.

\log_c (x) = \log_c(b) \cdot \log_b(x).

[편집] 실제 사용

이산 로그의 역함수인 이산 거듭제곱은 효율적으로 계산할 수 있지만, 이산 로그 계산은 어려운 것으로 알려진 군이 존재한다. (이산 거듭제곱의 경우 제곱을 여러번 반복해서 효율적으로 계산하는 방법등이 있다.) 일부 암호는 이런 비대칭성을 바탕으로 설계되기도 한다. 일반 이산 로그를 구하는 문제는 일반 이산 로그 문제(generalized discrete logarithm problem, 혹은 줄여서GDLP)라고 부르며, 현재까지 이에 대한 효율적인 알고리즘을 찾지 못하고 있다.

암호학에서 G는 보통 순환군 (Zp)*를 사용한다. 자세한 내용은 엘가말 암호, 디피-헬만 열쇠교환, DSA등에 있다.

최근에는 유한체에서 정의된 타원 곡선순환 부분군을 암호에 적용하기 위해 많은 연구가 진행되고 있다. 자세한 내용은 타원 곡선 암호에 있다.

[편집] 이산 로그 알고리즘

이산로그에는 소인수분해 알고리즘과 비슷한 알고리즘이 많이 있다. 소인수분해 역시 암호학에서 널리 사용되고 있다.

  • 단순 곱셈
  • 아기걸음 거인걸음
  • 폴라드 로 알고리즘
  • Pohlig-Hellman 알고리즘
  • Index calculus 알고리즘


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -