본문 바로가기

독학으로 하는 정보보안

(5)
디피-헬만(Diffie-Hellman) : 간단하게 이해하는 방법 디피-헬만(Diffie-Hellman) 키 교환 비밀키를 교환하지 않고도 통신을 위한 공개키를 안전하게 확립할 수 있다. 키생성 : 두 개의 큰 소수 P와 G를 설정한다. 여기서 P는 큰 소수이고 G는 적절한 정수이다. 공개키 계산 : 공개키는 G를 P에 대해 지수로 계산한 값이다. 비공개 키 생성1 : 통신자1은 p미만의 정수 a를 임의로 택하고, A≡G^a (mod P)를 만족하는 A (A가 G를 a번 거듭제곱하고 P로 나눈 나머지와 동등함)를 통신자 2한테 전달한다. (a는 비공개) 비공개 키 생성2 : 통신자2는 p미만의 정수 b를 임의로 택하고, B≡G^b (mod P)를 만족하는 B (B가 G를 b번 거듭제곱하고 P로 나눈 나머지와 동등함)를 통신자 1한테 전달한다. (b는 비공개) 비밀키 계..
RSA 암호 : 초보자를 위한 단계별 설명 비대칭키 알고리즘 비대칭키 : 키가 두 개인 암호화 알고리즘 RSA 암호 알고리즘 RSA(Ron Rivest-Adi Shamir-Leonard Adleman)암호 공개 키 암호 시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘 1. 키생성 : 두 개의 큰 소수 p와 q를 무작위로 생성한다. 그리고 p와 q를 곱한 n을 생성한다. 2. 공개키 생성 : 공개키는 (n,e)로 이루어져있다. e는 공개적으로 알려진 숫자이며, 일반적으로 작은 소수이다. 대부분 65537과 같은 값을 사용한다. 3. 개인키 생성 : 개인키는 (n,d)로 이루어져있다. d는 비공개이며, e와 관련이 있는 숫자이다. (e와 d는 서로 역수 관계, 즉 (e * d) % φ(n) = 1이어야 함 *오일러 피 함수* e..
AES 암호 알고리즘 쉽게 설명해드림 AES 암호 알고리즘 AES(Advanced Encryption Standard)암호 알고리즘 대칭형, 블럭 암호화 알고리즘 1. 키 확장 (Key Expansion): 사용자가 제공한 초기 키로부터 라운드 키를 생성한다. (128비트, 192비트 또는 256비트의 키를 사용할 수 있다.) (128비트는 10 라운드, 192비트는 12 라운드, 256비트는 14라운드) 2. 라운드 키 추가 (AddRoundKey): 각 라운드에서 생성된 라운드 키를 상태 행렬과 XOR 연산한다. 3. SubBytes 변환: 상태 행렬의 각 바이트를 S-box에 대응하는 값으로 치환한다. 4. ShiftRows 변환: 상태 행렬의 각 행을 왼쪽으로 순환 이동한다. (첫 번째 위치부터 행의 위치가 증가되는 수 만큼 상태행렬..
DES 암호 쉽게 알아보기 ! DES(Data Encryption Standard)암호 알고리즘 대칭키 블록 암호화 알고리즘 * 축약 : 줄이기 * 전치 : 위치 바꾸기 ! DES 암호 알고리즘 과정 ! 64비트에서 8의 배수인 비트 자리를 빼며 위치를 바꾸는 축약전치를 하여 56비트로 변형한다. 56비트를 28비트로 나눈다. 1, 2, 9, 16 번째는 한 번씩, 나머지는 2번씩 16번 회전한다. (4+12*2 = 28, 28비트를 28번 회전 시키면 제자리) 28비트를 다시 합친 다음, 56비트에서 7의 배수인 비트 자리를 빼며 위치를 바꾸는 축약전치를 하여 48비트로 변형한다. 다시 64비트로 돌아가서 섞고 섞은 64비트를 32비트씩 쪼개서 각각 L-0과 R-0이라 정한다. L-1 자리에 R-0을 넣고 R-0을 48비트로 확장시..
XOR 암호 쉬운 설명으로 이해해보자! * 대칭키 알고리즘 : 키가 하나 뿐인 암호화 알고리즘 XOR(Exclusive OR) 암호 비트 단위로 데이터를 처리하여 암호화하는 방법 키생성 : 암호화 할 데이터와 같은 길이의 키를 생성한다. (ex. 암호화할 데이터가 ‘happy’면 그것의 이진 형태인 ‘01101000 01100001 01110000 01110000 01111001’와 같은 길이의 ‘01100001 01101000 01110000 01111001 01110000’와 같은 무작위 키를 생성한다.) 암호화할 데이터와 생성한 키를 XOR 연산을 한다. (XOR 연산이란, 두 비트가 서로 같을 때는 0을, 다를 때는 1을 반환하는 논리 연산이다.) XOR 연산한 결과를 아스키 문자로 변형한다. 복호화를 하고 싶다면 주어진 키와 XOR ..