일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- AES
- mutate()
- 대칭형 알고리즘
- distinct()
- select()
- sample_n()
- summarize()
- proc contents
- samp;e_frac()
- groupe_by()
- arrange()
- dplyr
- filter()
- Today
- Total
목록암호 (19)
Gae Ko's Blog
R u Ronald Rivest 재승이 블로그에 있는 라이트업을 보고 풀이 흐름을 깨닫고 모르는 부분에 대해 찾아서 알아가는 식으로 공부하였습니다. 문제 풀이에 앞서서 RSA에 관한 기본적인 설명---------------------------------------------------------------------------------------RSA- 공개키 암호 시스템으로 공개키와 개인키를 사용- 공개키는 모두에게 알려져 있으며 암호화할 때 사용하고 개인키를 가진 자만이 암호화된 것을 복호화할 수 있음 - 키 생성 과정n = pq (p와 q는 서로 다른 두 소수)Φ(n) = (p-1)(q-1)gcd(e, Φ(n))= 1인 e선택하여 ed mod Φ(n)=1인 d 생성 이 때 확장된 유클리드 호제법..
이 문제를 풀기 전에 RSA와 중국인의 나머지 정리에 대해 공부하였다.이 문제를 풀고 이해하기에 필요한 정도로 설명하면 다음과 같다. RSA- 공개키 암호 시스템으로 공개키와 개인키를 사용- 공개키는 모두에게 알려져 있으며 암호화할 때 사용하고 개인키를 가진 자만이 암호화된 것을 복호화할 수 있음 - 키 생성 과정n = pq (p와 q는 서로 다른 두 소수)Φ(n) = (p-1)(q-1)gcd(e, Φ(n))= 1인 e선택하여 ed mod Φ(n)=1인 d 생성 이 때 확장된 유클리드 호제법을 사용하여 d를 구한다 - 암호화 : c = m^e mod n - 복호화 : m = c^d mod n 중국인의 나머지정리 (CRT : Chinese Remainder Theorem)- 서로소인 자연수들에 대한 연립합..
[문제] 암호문 oWdnreuf.lY uoc nar ae dht eemssga eaw yebttrew eh nht eelttre sra enic roertco drre . Ihtni koy uowlu dilekt oes eoyrup sawsro don:wp pegrfdmooi.r [풀이] 전치 암호에 대한 문제인가보다. 역시나 잘 몰라서 찾아보았다. 전치 암호(Tranposition cipher)란 평문의 순서를 재배치하여 암호화하는 방법이다. 만약 key가 "54231"이고 문자열의 위치를 [이동전 -> 이동후]라고 표현한다면 다음과 같이 이동한다. [1->5][2->4][3->2][4->3][5->1]그럼 복호화하는 경우에는 거꾸로 생각해주면 되겠다. 이 문제에서는 앞부분 oWdnreuf.lY 를 통..
[문제] [풀이] 시저 암호에 관한 문제인거 같다. 처음 들어보는 나는 시저암호가 무엇인지 찾아보았다. 시저 암호(Ceasar cipher)란 암호학에서 다루는 간단한 치환암호의 일종이다. 암호화하고자 하는 내용을 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 방식이다. -wiki- 처음엔 뭣도 모르고 손으로 써가면서 찾아보았는데 코드로 돌리면 된다는 말을 듣고 코드를 짜보았다. 1234567891011121314151617## WeChall cryto-Ceasar 1 # a : 암호화된 문장a = "NBY KOCWE VLIQH ZIR DOGJM IPYL NBY FUTS XIA IZ WUYMUL UHX SIOL OHCKOY MIFONCIH CM JAYLJMIYYFFG" for j in ran..
무결성 이란? 파일이 변경되지 않았음 을 의미.정보를 암호화하여 전달하는 경우에서 무결성이란 송신자가 보낸 정보와 수신자가 받은 정보가 동일함을 의미 이때에 정보의 무결성을 확인할 필요가 있다. 정보(data)를 직접 비교하는 대신에 해시 값을 비교한다. 일방향 해시 함수의 성질 - 임의의 길이 메세지로부터 고정 길이의 해시 값을 계산한다.- 해시값을 고속으로 계산할 수 있다.- 메세지가 다르면 해시 값도 다르다.- 일방향성을 갖는다. : 해시값으로부터 메세지를 역연산할 수 없음 일방향 해시 함수의 예 - MD4와 MD5 MD4는 128비트의 해시 값으로 현재는 안전하지 않음 MD5는 128비트의 해시 값으로 내부구조의 일부에 대한 공격 방법이 발견됨. 사용 권장 X - SHA-1, SHA-256, SH..
openssl을 이용한 RSA 암복호화해주는 소스코드를 분석해보았다. 코드는 다음과 같다. #include #include #include #include #include #include #include int padding = RSA_PKCS1_PADDING; RSA * createRSA(unsigned char * key,int public){ RSA *rsa= NULL; BIO *keybio ; keybio = BIO_new_mem_buf(key, -1); // 읽기 전용 메모리 만들기 BIO if (keybio==NULL) { printf( "Failed to create key BIO"); return 0; } /* PEM형식인 키 파일을 읽어와서 RSA 구조체 형식으로 변환 */ if(publ..
[리눅스/유닉스] 간단히 알아보는 OpenSSL 암호화/복호화 를 참고하여 실행하여 보았다. ※ 파일을 암호화/복호화 하기 -in 옵션과 -out 옵션으로 암복호화할 파일을 선택한다. ※ 공개키와 개인키 사용방법 먼저 개인키와 공개키를 생성한다. 공개키로 파일을 암호화하는 방법은 다음과 같다. 개인키로 복호화하는 방법은 다음과 같다. ※ 생성된 공개키와 개인키가 저장되는 형식 아까 openssl로 생성한 공개키와 개인키는 각각 public_key.pem 과 private_key.pem 라는 파일로 저장된다. (명령어로 파일명을 어렇게 지정했기 때문)그 파일을 들어가보면 다음과 같다.
※ RSA 암호화 RSA 암호는 공개키 암호 시스템 중 하나이다.공개키 암호시스템은 공개키(public key)와 개인키(private key)를 사용하여 암호화/복호화를 하는 시스템이다.RSA 암호체계의 안전성은 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 기반을 둔다. RSA 암호화/복호화 방법은? RSA 알고리즘도 그렇지만, 모든 공개키 암호화 알고리즘은 일방향 함수를 사용한다. 일방향 함수라는 것은 한쪽으로는 계산이 용이한 반면, 역으로 계산하기는 매우 어려운 함수를 의미한다. 공개키 암호화 알고리즘에서는 일방향 함수를 사용해서 평문을 암호화한다. 한쪽으로는 계산하기가 쉬우므로 평문을 암호화하기는 쉽다. 그러나 반대쪽으로 계산하기는 어려우므로 암호문을 평문으로 바꾸는 것은 매우 어렵다. 그래서 ..
개인키 = 비밀키 = 비공개키공개키 기법 = 비대칭키 기법 암호화와 복호화에 사용하는 암호키가 같은지 다른지에 따라 암호화 기법이 대칭키 기법과 비대칭키 기법으로 나뉘어 진다. 1. 대칭키 암호 - 하나의 비밀키를 양쪽(client & server)가 모두 같이 사용- 암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘- 공개키와 비밀키를 별도로 가지는 것과 구별되는데, 이와 비교하면 계산속도가 빠르다는 장점 - 비밀키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전 X- 대킹키 암호는 암호화하는 단위에 따라 스트림암호와 블록암호로 나눌 수 있음º 스트림암호는 연속적인 비트/바이트를 계속해서 입력받아, 그에 대응하는 암호화 비트/마이트를 생성하는 방식º 블록암호는 정해진 한 단위(블록)을..