반응형
문자개수와 mod 정하기
| 1. 문자개수: 30개 (알파벳+특수문자) * 30개로 정한 이유 - 알파벳은 총 26글자이므로 암호를 완벽하게 주고 받기 위해 우리가 사용하는 숫자의 범위는 반드시 소수여야 한다. 26은 소수가 아니므로 29, 31 등의 소수를 적용해야한다. 그래서 mod31을 선택하였다 2. 연산 체계 선택: mod31 - 곱셈 암호에서 0은 어떤 수를 곱해도 결과가 0이 되는 숫자이다. 만약 원문에 0은 암호화 과정에서 정보가 완전히 사라져 복구가 불가능 해진다. 따라서 mod31 연산을 통해 나오는 0~ 30의 결과 중 0은 사용하지 않는 버리는 칸으로 두고 나머지 1~30번까지만 문자를 배정 하였다 * mod 31을 정한다면 우리가 사용할 수 있는 숫자의 공간은 0번부터 30번까지 총 31개가 생성되지만 0은 제외하여 문자개수는 30개가 된다 |
코드표
| 숫자 | 문자 | 숫자 | 문자 | 숫자 | 문자 | 숫자 | 문자 | 숫자 | 문자 |
| 1 | a | 7 | g | 13 | m | 19 | s | 25 | y |
| 2 | b | 8 | h | 14 | n | 20 | t | 26 | z |
| 3 | c | 9 | i | 15 | o | 21 | u | 27 | ~ |
| 4 | d | 10 | j | 16 | p | 22 | v | 28 | ! |
| 5 | e | 11 | k | 17 | q | 23 | w | 29 | @ |
| 6 | f | 12 | l | 18 | r | 24 | x | 30 | # |
개인키 암호화 실습 (예시)
| 1단계: 코드표 정의(문자와 숫자의 약속) 암호화를 하려면 먼저 글자를 숫자로 바꿔야 한다. 1부터 30까지의 숫자에 글자와 기호를 하나씩 배정 한다 2단계: 키 생성(공개키와 개인키 결정) mod 31 연산에서 두 수를 곱했을 때 31로 나눈 나머지가 1이 되는 두 숫자를 찾는다 공개키(e): 4 / 개인키(d): 8 * 4*8/31=나머지 1 이므로 3단계: 서명문 생성( 개인키로 암호화하기) 1. 문자를 숫자로 변환 원문이 a,c,e 이므로 숫자는 1,3,5 가 된다 2. 개인키(8) 곱하기 a: 1*8=8 c: 3*8=24 e:5*8=40 3. mod 31 계산(31로 나눈 나머지 구하기) 8: 나머지=8 24: 나머지=24 40: 나머지= 9 4. 다시 문자로 변환 8 = h 24 = x 9 = i 공개키: 4 서명문: hxi |
'Infra & Security Eng > Network & Security' 카테고리의 다른 글
| [암호학] - 키 분배 3개의 방식과 KDC의 효율성, 키 분배 메커니즘, SSH 세션 키 전달 원리 (PuTTY 예시) (0) | 2026.03.18 |
|---|---|
| 암호학(키의 종류와 역할, 공개키 암호화, 전자 서명, 암호화와 전자 서명의 결합 개념과 특징) (0) | 2026.03.18 |
| 암호시스템의 원리와 DES 암호화 과정 완벽 정리 (0) | 2026.03.17 |
| [보안 기술 분석 보고서] ARP Redirect 기반 MITM 공격 탐지 및 분석 보고서 작성 파일 (0) | 2026.03.13 |
| ARP 스푸핑을 이용한 DNS Spoofing 공격 실습과 결론_수정해야함 (0) | 2026.03.13 |
