분류 전체보기(78)
-
[Etc] RSA decryption
Extended Euclidean Algorithm, Chinese Remainder Theorem, Fermat's Little Theorem 을 이용하여 RSA decryption 을 진행해보자. 주어진 조건 - n = 2491 - C = 1644 (mod 2491) - e는 최대한 작은 홀수 - p < q 풀이 과정 1) p, q 계산 2) φ 계산 3) e, d 계산 - Extended Euclidean Algorithm (Pulverizer of Aryabhata) 4) M (mod p), M (mod q) 계산 - Fermat's Little Theorem 5) M (mod n) 계산 - Chinese Remainder Theorem, Extended Euclidean Algorithm 1) ..
2023.10.10 -
[United States] New York, Manhattan #1
개강하기 전 나흘동안 뉴욕 맨하튼에서 시간을 보냈다. 원래는 바로 학교로 갈 예정이었는데, 항공편 일정과 공항에서 학교로 가는 기차 일정으로 인해 혼자 호텔에서 묵어야 하는 시간이 생기는 바람에 일정을 조율하다보니 뜻밖의 기회가 생긴 것이었다. 사실 이보다 전에 가족과 연말에 뉴욕에 가서 새해를 맞을 계획을 세우고 있었는데, 해외 입국 시 자가격리를 해야하는 정책이 생겨 계획이 무산되었다. 그런데 다시 어쩌다보니 여행을 갈 수 있게 되었고, 아직 방학이라 여유로운 친오빠와 둘이 여행을 떠나게 되었다. 운 좋게도 비슷한 시기에 미국으로 가는 친구가 많았다. 새해 첫 날 작별인사 할 겸 모여서 밥을 먹었다. 한 달에 적어도 두 세 번 만나는 친구들인데 반 년이나 못 본다니.. 사실 이때 나는 교환학생 준비에..
2023.10.10 -
[Image Understanding] Color Image 생성하기
Red + Green = Yellow Red + Blue = Magenta Green + Blue = Cyan img1 = zeros(500, 500, 3); img1(50:300, 50:300, 1:2) = 255; img1(250:450, 250:450, 2:3) = 255; figure(1), imshow(img1); zeros()를 통해 500x500 크기의 검정색 이미지를 생성했다. x 좌표가 50~300인 곳, y 좌표가 50~300인 부분은 1(Red), 2(Green) 값을 255(0~255)로 설정하였다. Red와 Green을 섞으면 Yellow이므로, 해당 부분은 Yellow를 띠게 된다. x 좌표가 250~450인 곳, y 좌표가 250~450인 부분은 2(Green), 3(Blue)..
2023.10.10 -
[Computer Graphics] WebGL 다각형 그리기
WebGL에서 다각형(사각형, 오각형, ...)은 여러 삼각형들이 합쳐진 형태로 그려낼 수 있다. 삼각형을 붙이는 방법에는 LINE_STRIP, LINE_LOOP, TRIANGLE_FAN, TRIANGLE_STRIP이 있다. 차례대로 사용해보며 각각이 어떻게 동작하는지 알아보고자 한다. 먼저 html 코드는 아래와 같다. 이전 글에선 drawTriangle() 함수를 실행시키도록 하고 해당 함수 내에서 모든 작업을 진행했으나, 하나의 캔버스에 여러 도형을 그리는 경우 각각의 도형을 그리는 함수를 따로 두어 코드를 간결하게 만들었다. JS 코드는 아래와 같다. 먼저 LINE_STRIP을 사용해보았다. var canvas; var gl; var squareProgram function init() { can..
2023.10.10 -
[Computer Graphics] WebGL 삼각형 그리기
WebGL은 JavaScript API이다. 즉, html 페이지에 embed할 수 있다는 뜻이다. WebGL은 GPU를 통한 hardware acceleration에 의존한다. https://get.webgl.org/ 사이트에 접속하였을 때 위와 같은 화면이 나온다면 사용하는 브라우저가 JavaScript를 지원함을 의미한다. (안하는 브라우저도 있을까?) WebGL을 이용하여 삼각형을 만들어보자. webgl-utils.js, initShaders.js, MV.js 파일은 https://gist.github.com/Carla-de-Beer/10ad7c7309fad48d94df 에서 구할 수 있다. width 512px, height 512px인 WebGL canvas를 생성한다. js 파일을 생성하고,..
2023.10.10 -
[Etc] One-time Pad
Alice가 Bob에게 message b를 전달하고자 한다. Eve도 내용을 확인할 수 있으므로 plain text를 cipher text로 암호화하여 보낸다. 암호화하는 데 사용되는 secret key r은 Alice와 Bob만 공유하며, 이는 uniform random bit이어야 한다. cipher text를 만들 때는 xor을 사용한다. Bob이 plain text로 해독할 때에도 xor을 사용한다. 만약 Alice가 전송하는 message는 2-bit이고, Alice와 Bob이 공유하는 secret key가 1-bit면 어떻게 될까? Eve가 xor의 특성을 이용하여 다음과 같이 message를 추측할 수 있으므로 위험하다. 따라서 message가 2-bit라면 secret key 역시 2-bi..
2023.10.10