Computer Security 6

[Bouncy-Castle] 자바 암호화 라이브러리 Bouncy-Catsle 을 사용해보자.

spring boot 로 새로운 프로젝트를 진행하고 있다. (프로젝트 github주소: https://github.com/yuny0623/2Hash) 암복호화 api 들을 만들려고 하는 중인데 새로운 기능을 추가할까 싶어서 무얼할까 고민해보다가 .pem 파일로 key 들을 만들어서 사용자에게 주는건 어떨지 고민하고 있었다. (사실 지금 api 를 만든다는 것 자체가 모순적이긴 하다. 서버에서 제공한다는게 모순적이다. 클라이언트에서 직접 만들고 본인이 사용한다면야 믿고 쓸 수 있겠지만 서버에서 private key 를 만들어서 준다는 것 자체가 살짝 치명적인 단점이라는 생각이 든다. 어쨋든 일단은 학습 목적이라 만들어볼까 한다. ) pem 키와 관련된 라이브러리가 있는데 그게 바로 Bouncy - Cats..

Computer Security 2022.04.09

[RSA] javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes 에러 발생

데이터 교환을 암복호화를 써서 하는 api 를 개발중인데 갑자기 위와 같은 에러가 발생했다. (사실 금요일이라 뭔가 엉뚱한게 땡겼다. 그래서 뜬금없이 암복호화를 만들어보기로 했다. 근데 잘안된다. 완전 막힘. ) javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes 무슨 말이냐면 즉 Data 는 245 바이트보다 길어서는 안된다는 이야기다. 역시나 변환하려고 하는 데이터가 좀 길다 싶었는데 이런 에러가 터지게 되었다. 이렇게 놓고 보니까 에러가 안나는게 오히려 이상한것 같기도 하다. 해결방법은 간단하다. 그냥 공개키는 키 교환에만 사용하고 데이터는 대칭키를 사용해서 암복호화하는 것이 가장 좋을 것 같다. 즉 전자서명에..

Computer Security 2022.04.08

[Cipher] Elgamal - 엘가말 암호

저번에 확장 유클리디안 알고리즘때문에 꽤나 고생을 한적이 있는데 이번에는 엘가말이라는것을 만나게 됬다. 흑 복호화부분이 하나의 식이 있는게 아니라 상당히 다양하게 변형된 방법들이 있어서 헷갈렸다. 예를 들어서 하나의 동작이 있다고 하면 그 동작을 두부분으로 나눠서 진행하는 방법이 있다거나 아니면 곧장 답으로 직행할 수 있는 방법이 있다거나 하는 식이었다. 아래 유튜브에 어느 분께서 직접 풀이를 진행하시는데 가장 쉽게 이해할 수 있는 영상인것 같다. https://www.youtube.com/watch?v=QrsGVeZV7q8

Computer Security 2021.10.31

[Security] 컴퓨터보안에서 부인방지란 무엇일까?

부인방지라는 용어를 듣게 되었는데 처음 듣는 용어이지만 중요하지 않다고 생각해서 맥락상 의미만 추측만 하고 지나갔다. 그런데 계속해서 반복해서 등장하기에 그 의미를 정확히 찾아보았다. 사전적 정의는 아래와 같다. 사전적 정의가 아주 간단 명료해서 이것만 봐도 무엇인지 이해가 될 것이다. 부인방지: Non - repudiation 더보기 메시지의 송수신이나 교환 후, 또는 통신이나 처리가 실행된 후에 그 사실을 사후에 증명함으로써 사실 부인을 방지하는 보안 기술. 예를 들면, 전자 우편이나 메시지를 송신하고도 송신하지 않았다고 주장하는 송신자의 부인을 막는 송신 부인 방지(non-repudiation of origin), 메시지가 송달(전달)된 사실을 송달되지 않았다고 주장하는 수신자의 부인을 막는 송달 ..

Computer Security 2021.10.29

[RSA] Extended Euclidean Algorithm - 확장된 유클리디안 알고리즘

RSA를 알기 위해서는 확장된 유클리디안 알고리즘과 페르마 + 오일러 정리를 알고 있어야 한다. 그런데 확장된 유클리디안 알고리즘이 계산을 어떻게 하는지 도저히 감을 잡지 못했다. 페르마 + 오일러의 정리는 그냥 공식이 나와있고 그 공식이 뭔지만 알면 된다. (물론 증명은 따로 더 이해하려 하지 않았다. 사실 이해하려 했다가 무슨 말인지 몰라서 중간에 그만뒀다.) 그런데 확장된 유클리디안 알고리즘의 경우 문제를 풀기 위해서는 반드시 작동 원리를 알아야 했는데 간단한 계산의 연속임에도 불구하고 대체 뭘 계산하는건지 감이 잡히지 않았다. 오기가 생겨서 똑같은 영상을 최소 5번~6번정도는 돌려본것 같은데, 정말 어떻게 된건지는 모르겠지만 대여섯번쯤 볼때쯤에 어떻게 하는지 감이 왔다. 그리고 몇몇 문제를 풀어보..

Computer Security 2021.10.10
반응형