PKI 82

μˆ˜ν•™ λΉ…λ„˜ μ—°μ‚°μ—μ„œ LCM( P-1, Q-1) κ°’ κ΅¬ν•˜λŠ” 법

LCM은 λ‘μˆ˜μ˜ μ΅œμ†Œ 곡배수 이닀. 이건 κ°„λ‹¨ν•œ μ‚°μˆ˜ μ΄μ§€λ§Œ μ‹€μ œλ‘œ μ μš©ν• λ•ŒλŠ” μ–΄λ €μ›Œ λ³΄μ—¬μ„œ ν•œλ²ˆ μ •λ¦¬ν•œλ‹€RSA μ•”ν˜Έμ—μ„œ μ†Œμˆ˜ P와 Qλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°œμΈν‚€ Dλ₯Ό ꡬ할 λ•Œ,P−1κ³Ό Q−1의 μ΅œμ†Œκ³΅λ°°μˆ˜(LCM)을 μ΄μš©ν•œλ‹€.λΉ…λ„˜ 연산을 ν• λ•Œ μ•„λž˜ 곡식을 μ΄μš©ν•˜μ—¬ 계산 ν•œλ‹€$$ LCM(P-1,Q-1) = \frac { (P-1) \times (Q-1) } { GCD( P-1, Q-1) } $$μ—¬κΈ°μ„œ:P와 QλŠ” 두 개의 μ†Œμˆ˜μž…λ‹ˆλ‹€.P−1κ³Ό Q−1은 각각 P와 Qμ—μ„œ 1을 λΊ€ κ°’μž…λ‹ˆλ‹€.GCD(P−1,Q−1) λŠ” P-1κ³Ό Q-1 의 μ΅œλŒ€κ³΅μ•½μˆ˜(Greatest Common Divisor)λ₯Ό μ˜λ―Έν•œλ‹€.예λ₯Ό λ“€μ–΄, P=11, Q=7일 λ•Œ:P−1=10, Q−1=6GCD(10,6) = 2 (μ΅œλŒ€κ³΅μ•½μˆ˜)LCM(10,6) = (..

PKI/Cryptography 2024.10.16

λͺ¬ν…Œ μΉ΄λ₯Όλ‘œ ν…ŒμŠ€νŠΈ ( Monte Carlo Test )

Monte Carlo Test κ²€μ‚¬λŠ” λŒ€μΉ­ν‚€ μ•”ν˜Έ λ˜λŠ” ν•΄μ‹œ μ•Œκ³ λ¦¬μ¦˜μ˜ μ•ˆμ „μ„±κ³Ό λ¬΄μž‘μœ„μ„±μ„ κ²€μ¦ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 톡계적 방법 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. λŒ€μΉ­ν‚€ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜μ€ λ™μΌν•œ ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ•”ν˜Έν™”ν•˜κ³  λ³΅ν˜Έν™”ν•˜λŠ” 방식인데, μ΄λŸ¬ν•œ μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΄μ•ˆμ„±μ„ ν‰κ°€ν•˜λŠ” μ€‘μš”ν•œ 절차 쀑 ν•˜λ‚˜κ°€ Monte Carlo Testμž…λ‹ˆλ‹€.λ‹€μŒμ€ λͺ¬ν…ŒμΉ΄λ₯Όλ‘œ ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ psedo μ½”λ“œμ΄λ‹€.μ°Έκ³  자료 [Cipher] [Hash]ν•΄μ‹œ ν•¨μˆ˜μ˜ λͺ¬ν…Œ μΉ΄λ₯Όλ‘œλŠ” 두가지 방식이 μžˆλ‹€ Standard 와 Alternate 방식이닀.SHA-1 and SHA-2 Standard Monte Carlo TestFor j = 0 to 99 A = B = C = SEED For i = 0 to 999 MSG = A || ..

PKI/Cryptography 2024.09.03

DH μ•Œκ³ λ¦¬μ¦˜μ΄λž€

이글은 ChatGPT 문의 λ‚΄μš©μ— 일뢀 μˆ˜μ • ν•˜μ˜€μŠ΅λ‹ˆλ‹€.λ””ν”Ό-ν—¬λ§Œ(Diffie-Hellman) μ•Œκ³ λ¦¬μ¦˜μ€ 두 νŒŒν‹°κ°€ μ•ˆμ „ν•˜μ§€ μ•Šμ€ 채널을 톡해 λΉ„λ°€ ν‚€λ₯Ό κ³΅μœ ν•  수 있게 ν•΄μ£ΌλŠ” μ•”ν˜Έν•™μ  ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. μ΄λŠ” ν‚€ κ΅ν™˜ μ•Œκ³ λ¦¬μ¦˜μ˜ ν•œ μ’…λ₯˜λ‘œ, 주둜 κ³΅κ°œν‚€ μ•”ν˜Έ μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€. 이 μ•Œκ³ λ¦¬μ¦˜μ€ Whitfield Diffie와 Martin Hellman에 μ˜ν•΄ 1976년에 μ œμ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€.μ£Όμš” κ°œλ… 및 μ›λ¦¬μˆ˜ν•™μ  기초:λ””ν”Ό-ν—¬λ§Œ μ•Œκ³ λ¦¬μ¦˜μ€ 이산 둜그 문제의 어렀움에 κΈ°λ°˜ν•©λ‹ˆλ‹€. 이 λ¬Έμ œλŠ” 큰 μ†Œμˆ˜ p와 μ›μ‹œκ·Ό gκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ,$$ g^a \, mod \, p $$값을 μ•„λŠ” 것이 aλ₯Ό μ°ΎλŠ” 것보닀 κ³„μ‚°μ μœΌλ‘œ 훨씬 μ‰½λ‹€λŠ” 점을 μ΄μš©ν•©λ‹ˆλ‹€.μž‘λ™ 원리:두 νŒŒν‹° A와 Bκ°€ μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€. A와 BλŠ” λ‹€μŒκ³Ό 같은..

PKI/Cryptography 2024.06.28

RSA κ°œμΈν‚€ νŠΉμ„±

RSA ν‚€ μŒμ—μ„œ κ°œμΈν‚€ νŒŒμΌμ„ μ•Œμ•„ 보자일반적으둜 κ°œμΈν‚€λŠ” μ•”ν˜Έν™” λ˜μ–΄ μžˆμ§€λ§Œ μ•”ν˜Έν™” λ˜μ§€ μ•Šμ€ ν˜•μ‹μ€ PKCS#1 μ—μ„œ μ •μ˜ 된 ν˜•μ‹μ„ 가지고 λ§Œλ“€μ–΄μ Έμžˆλ‹€.보톡 RSA μ—°μ‚°μ—μ„œ μ‚¬μš© λ˜λŠ” ν‚€ 값은 n, e, d 이닀.μ—¬κΈ°μ„œ 보톡 (n, d) 값이 κ°œμΈν‚€ 이고 (n, e) 값을 κ³΅κ°œν‚€λ‘œ ν”νžˆλ“€ λ§ν•œλ‹€.그럼 PKCS#1 ν˜•μ‹μ˜ κ°œμΈν‚€λ₯Ό BerEditor둜 보면 λ‹€μŒ κ·Έλ¦Όκ³Ό κ°™λ‹€.보톡 κ°œμΈν‚€ νŒŒμΌμ—λŠ” κ°œμΈν‚€μ™€ κ³΅κ°œν‚€ 값이 λͺ¨λ‘ λ“€μ–΄κ°€ μžˆλŠ”λ°μ™œ n, e, d κ°’ μ™œμ— λ‹€λ₯Έ 값이 더 μžˆλŠ” 것을 λ³Ό 수 μžˆλ‹€.이 값듀은 PKCS#1 에 μ •μ˜ 된 ASN.1 값을 μ°Έμ‘° ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€.RSA κ°œμΈν‚€ ASN.1 RSAPrivateKey ::= SEQUENCE { version ..

PKI/ASN.1 2024.05.31

KMIP ν”„λ‘œν† μ½œμ— κ΄€ν•˜μ—¬

PKI κ΄€λ ¨ κ°œλ°œμ„ ν•˜λ‹€ 보면 κ°€μž₯ μ€‘μš”ν•˜κ²Œ 관리 λ˜μ–΄μ•Ό ν•˜λŠ”κ²Œ ν‚€ 관리이닀. 이 ν‚€ 관리λ₯Ό ν•˜κΈ° μœ„ν•΄μ„œ ν‚€ 관리 μ‹œμŠ€ν…œμ΄λΌκ³  λΆ€λ₯΄λŠ” KMSλ₯Ό 두고 ν‚€λ₯Ό 관리 ν•œλ‹€. ν‚€ 관리 μ‹œμŠ€ν…œκ²½μš° λ‹€μ–‘ν•˜κ²Œ λ§Œλ“€μ–΄μ Έ μžˆλ‹€ λ³΄λ‹ˆ ν‚€ 관리 μ‹œμŠ€ν…œμ— λŒ€ν•œ ν‘œμ€€μ΄ ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•˜μ—¬μ„œ μ•Œκ²Œ λœκ²ƒμ΄ KMIP 이닀. [자료 좜처] https://stormagic.com/resources/beginners-guides/kmip-beginners-guide μ•„λž˜ 글은 μœ„μ˜ 자료 좜처의 글을 λ²ˆμ—­ ν•œκ²ƒμ΄λ‹€. KMIP λž€ 무엇인가? κ°„λ‹¨νžˆ λ§ν•΄μ„œ, KMIP(Key Management Interoperability Protocol)λŠ” ν”Œλž«νΌ μ „λ°˜μ— 걸쳐 μ•ˆμ „ν•œ 데이터 관리λ₯Ό μœ„ν•œ ν‘œμ€€ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. μ΄λŠ” ν‚€ 관리 μ‹œμŠ€ν…œκ³Ό μ•”ν˜Έν™” 지원..

SSL μΈμ¦μ„œ 및 μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ μš©λ„ 확인 방법

PKI μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œλŠ” μΈμ¦μ„œ λ§ˆλ‹€ μ‚¬μš©ν•˜λŠ” μš©λ„κ°€ μžˆλ‹€. κ·Έμ€‘μ—μ„œ 많이 μ‚¬μš©ν•˜λŠ” λŒ€ν‘œμ μΈ μΈμ¦μ„œμ˜ μš©λ„κ°€ SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œκ°€ μžˆλ‹€. SSL μΈμ¦μ„œλŠ” 일반적으둜 μ›Ήμ„œλ²„μ—μ„œ HTTPS 톡신을 ν•˜κΈ°μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œμ΄λ‹€. μ½”λ“œμ„œλͺ… (Code Sign) μΈμ¦μ„œλŠ” μ•±μ΄λ‚˜ ν”„λ‘œκ·Έλž¨ λ˜λŠ” 라이브러리 같은 λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ— μœ„λ³€μ‘°λ₯Ό 방지 ν•˜κΈ°μœ„ν•΄ μ „μž μ„œλͺ…을 ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œμ΄λ‹€. 그럼 SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œκ°€ λ§žλŠ”μ§€ ꡬ별 ν•˜κΈ° μœ„ν•΄μ„œλŠ” μΈμ¦μ„œμ—λŠ” μš©λ„λ³„λ‘œ μΈμ¦μ„œκ°€ κ°€μ Έμ•Ό ν•˜λŠ” ν•„λ“œκ°€ μ‘΄μž¬ν•œλ‹€. μ—¬κΈ°μ„œ μΈμ¦μ„œ μ •λ³΄μ˜ ν•„λ“œλ₯Ό 보기 μœ„ν•΄μ„œ BerEditor λ₯Ό μ‚¬μš©ν•˜μ˜€λ‹€. μΈμ¦μ„œ μš©λ„ ꡬ별 ν•„λ“œ SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ μš©λ„λ₯Ό ꡬ별 ν•˜κΈ° μœ„ν•΄ 확인이 ν•„μš”ν•œ μ£Ό..

κ°œμΈν‚€ μ•”ν˜Έν™”ν•˜λŠ” 두가지 ν‘œμ€€ 기술( PKCS#8, PKCS#12)

PKI μ‹œμŠ€ν…œμ—μ„œ κ°€μž₯ μ€‘μš”ν•˜κ²Œ 관리 λ˜μ–΄μ•Ό ν•˜λŠ”κ²ƒμ΄ κ°œμΈν‚€μ΄λ‹€. κ·Έλž˜μ„œ κ°œμΈν‚€λŠ” μ•”ν˜Έν™”λ₯Ό ν•΄μ„œ λ³΄κ΄€ν•˜λŠ”κ²ƒμ΄ μΌλ°˜μ μ΄λ‹€. λ¬Όλ‘  쒀더 μ•ˆμ „ν•˜κ²Œ λ³΄κ΄€ν•˜κΈ° μœ„ν•΄ HSM μž₯치λ₯Ό μ΄μš©ν•˜λŠ” 방법도 μžˆλ‹€. 그러면 이 κ°œμΈν‚€λ₯Ό μ•”ν˜Έν™”μ— μ‚¬μš©λ˜λŠ” 두가지 기술 ν‘œμ€€μ΄ μžˆλ‹€. κ·Έ 두가지 기술 ν‘œμ€€μ΄ PKIX μ—μ„œ PKCS#8 κ³Ό PKCS#12 두가지 기술이 μžˆλ‹€. 그럼 PKCS#8 κ³Ό PKCS#12 에 λŒ€ν•΄μ„œ μ•Œμ•„ 보자 PKCS#8 PKCS#8 은 κ°œμΈν‚€ λ§Œμ„ μ•”ν˜Έν™” ν•˜κΈ° μœ„ν•΄ μ‚¬μš© λ˜λŠ” ν‘œμ€€ κΈ°μˆ μ΄λ‹€ [ RFC5208 ] κ°œμΈν‚€ μ•”ν˜Έλ₯Ό μœ„ν•΄μ„œ PrivateKeyInfo 와 EncryptedPrivateKeyInfo 두가지 ASN.1 ν˜•μ‹μ΄ μ‚¬μš©λœλ‹€. λ¨Όμ € κ°œμΈν‚€λ₯Ό μ•”ν˜Έν™” ν•˜κΈ° 전에 PrivateKeyInfo ν˜•μ‹μœΌλ‘œ 개인..

κ°œμΈν‚€, κ³΅κ°œν‚€ 그리고 μΈμ¦μ„œ

PKI μ‹œμŠ€ν…œμ„ μ ‘ν•˜λ‹€ 보면 항상 λ“£κ²Œ λœλŠ” 단어가 μžˆλ‹€. PKI μ‹œμŠ€ν…œμ—μ„œ μ „μž μ„œλͺ…을 ν•˜κΈ° μœ„ν•΄μ„œ 주둜 λ‚˜μ˜€λŠ” 단어가 μΈμ¦μ„œ, κ³΅κ°œν‚€ 그리고 κ°œμΈν‚€ 이닀. λ¬Όλ‘  이 μš©μ–΄λ₯Ό PKI λ₯Ό μ ‘ν•˜κ²Œ 되면 기본적으둜 이해λ₯Ό ν•˜κ³  μžˆλ‹€κ³  λ³Έλ‹€. ν•˜μ§€λ§Œ 쒀더 μ‰½κ²Œ 이야기λ₯Όμ„ ν•΄ 보자. 사싀 κ°œμΈν‚€ κ³΅κ°œν‚€μ™€ 그리고 μΈμ¦μ„œλŠ” μ „μž μ„œλͺ…을 μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄μ΄λ‹€. μ „μž μ„œλͺ…κ°’ λ§Œλ“ λŠ” ν‚€λŠ” κ°œμΈν‚€ μ „μž μ„œλͺ…값을 κ²€μ¦ν•˜λŠ” ν‚€λŠ” κ³΅κ°œν‚€ κ³΅κ°œν‚€μ— λŒ€ν•œ μ†Œμœ μžμ— λŒ€ν•œ 증λͺ…μ„œκ°€ μΈμ¦μ„œ 이닀. μ „μž μ„œλͺ…에 λŒ€ν•œ κ°œλ…μ€ [μ „μžμ„œλͺ…κ³Ό μΈμ¦μ„œ 이야기] 뢀뢄을 μ°Έκ³ ν•˜μž. κ°œμΈν‚€λž€? κ°œμΈν‚€λŠ” μ „μž μ„œλͺ…값을 λ§Œλ“€κΈ° μœ„ν•œ ν‚€ 이닀. κ·Έ 말은 κ°œμΈν‚€κ°€ μ ˆλŒ€ μ†Œμœ μžκ°€ μ•„λ‹Œ λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 전달 λ˜μ–΄μ„œλŠ” μ•ˆλœλ‹€. PKI μ‹œμŠ€ν…œμ˜ μ£Όμš” 핡심 λ³΄μ•ˆ μš”μ†Œ..