728x90

개인키 3

Hash Function의 특징과 용도

지난 글에서 서명검증을 다루면서 서명검증에서 Hash 알고리즘이 언급되었다. 그래서 Hash에 대해 정확히 알아볼 필요가 있어서 이번에는 Hash에 대해서 다뤄보려고 한다. Hash Function(이하 Hash)란...? 임의의 길이의 데이터를 고정된 길이의 데이터로 변환한 값을 Hash라고 한다. Hash는 주로 Checksum(체크썸)에 사용되는 단방향 함수(출력값으로 입력값을 유추하지 못함)인데 암호 알고리즘들이랑 다르게 Hash는 데이터의 위변조가 있는지 없는지 무결성을 검증하기 위해서 사용한다. 그래서 Hash의 경우 특정 Message를 보낼 때 Hash 값을 같이 보내게 되는데 이 Message의 위변조가 일어났는지 확인을 하기 위한 용도로 사용된다. 예를 들어 안녕하세요 라는 messag..

Crypto 2024.04.01

공개키 암호 시스템, RSA 알고리즘의 암복호화와 전자서명

이전에 RSA 암호 알고리즘에 대해서 작성을 한 게 있었는데, 내용이 너무 빈약하고 정보전달력이나 중요한 내용들이 많이 빠진 것 같아서 이번에 다시 내용정리를 해보려고한다. RSA 암호 알고리즘이란 공개키 암호시스템으로 암/복호화도 가능하고 전자서명에도 이용된다. RSA는 공개키(Public -key)와 개인키(Private-key 또는 비밀키) 두 개의 키를 사용하는데 공개키는 말 그대로 누구에게나 다 공개되는 키이며 개인키는 특정 사용자만 사용하는 키를 말한다. 그런데 RSA의 경우 공부하면서 알게 된 건데 특이한 점이 있다 아래 표와 같이 암복호화에서는 공개키를 암호화할 때 사용하고 개인키로 복호화를 하지만 서명검증을 할 때는 개인키로 암호화하고 공개키로 복호화한다. 공개키 개인키 암/복호화 암호화..

Crypto 2024.03.29

ECDSA란?

ECDSA(Elliptic Curve Digital Signature Algorithm)란 타원곡선 디지털서명 알고리즘으로 타원곡선을 이용해 인증할 수 있는 암호화 방식이다. 비트코인과 이더리움에서도 ECDSA의 secp256k1커브방식(가장많이 사용하는 방식중 하나)을 채택하여 전자서명을 하고 있다. 특징으로는 기존 전자 서명에 비해 공개 키의 크기가 절반 수준이며 보안 수준은 4배정도의 동일한 안정성을 제공한다. ECDSA의 비밀키 공유 방법은 아래와 같다. 보통 문서들은 앨리스와 밥이라는 이름을 활용하는데 나는 영희와 철수로 해야겠다...! 1. 영희와 철수는 개인키로 Pr1와 Pr2를 생성한다. 2. 타원곡선 연산을 통해해 계산된 결과값 R1, R2 값을 서로 교환한다. 3. 영희는 철수로부터 받..

Crypto 2022.11.02
728x90