Wednesday, March 06, 2013

RSA

Proof

p, q is prime number
n = pq
φ(n) = (p-1)(q-1)

aφ(n)+1 = a (mod n)


case 1) gcd(a,n) = 1
By euler theorem aφ(n)+1= a (mod n)


case 2) gcd(a,n) ≠ 1

a = p or q ( for n = pq )
let a = q

by fermat theorem qp-1 = 1 (mod p)
aφ(n)+1 = qφ(n)+1 = q(p-1)(q-1)+1 = q(p-1)(q-1) * q = 1(q-1) * q = q = a (mod p)

aφ(n)+1 = qφ(n)+1 = 0 = q = a (mod q)


By Chinese Remainder Theorem

gcd(p, q) = 1
aφ(n)+1 = a (mod p)
aφ(n)+1 = a (mod q)
then aφ(n)+1 = a (mod p * q) = a (mod n)


Generate Key

1. prime p,q
2. n = p * q
3. select e (commonly 65537 = 0x10001)
4. calculate d
    e * d = 1 (mod φ(n))
5. n, e is public key
6. d is private key

Encrypt

me = c (mod n)

Decrypt

cd = me*d = mkφ(n) + 1 = m (mod n)

Sign

md = s (mod n)

Verify

me = me*d = mkφ(n) + 1 = m (mod n)


Tuesday, January 08, 2013

Reinstall Keyboard type 1


  1. Delete RegistryHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt
  2. reboot
  3. reinstall keyboard driver

Wednesday, October 10, 2012

putty IME(Korean) patch

putty IME(Korean) patch


http://vany.tistory.com/entry/PuTTY-Esc%EB%A1%9C-%EC%98%81%EB%AC%B8-%EC%A0%84%ED%99%98%ED%95%98%EA%B8%B0



$ svn diff
Index: trunk/windows/WINDOW.C
===================================================================
--- trunk/windows/WINDOW.C      (revision 43)
+++ trunk/windows/WINDOW.C      (working copy)
@@ -3273,6 +3273,17 @@
         * WARNING: Spans over multiple CASEs
         */
        case WM_KEYDOWN:
+               // Make Esc key change IMM Status to English(Alpha-Numeric) Mode.
+               if (wParam == VK_ESCAPE)
+               {
+                       HIMC hImc = ImmGetContext(hwnd);
+                       if (ImmGetOpenStatus(hImc))
+                       {
+                               ImmSetConversionStatus(hImc, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE);
+                               ImmReleaseContext(hwnd, hImc);
+                               goto KEY_END;
+                       }
+               }
                if (wParam == VK_CONTROL && term->cfg.url_ctrl_click) {
                        GetCursorPos(&cursor_pt);
                        ScreenToClient(hwnd, &cursor_pt);

Wednesday, August 08, 2012

Create Private SSL Certificate

1. Create Root Certificate $> openssl genrsa -aes256 -out ca.key 4096 $> openssl req -new -key ca.key -out ca.csr $> openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt 2. Server Cert $> openssl genrsa -aes256 -out server.key 4096 $> openssl req -new -key server.key -out server.csr $> openssl x509 -req -days 3650 -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial 3. client cert $> openssl genrsa -aes256 -out client.key 4096 $> openssl req -new -key client.key -out client

Wednesday, June 27, 2012

chrome custom font

custom.css C:\Users\{user}\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets * { font-family: Malgun Gothic, Verdana, Arial, sans-serif !important; letter-spacing: 0.5px; word-spacing: -1px;}

Thursday, February 16, 2012

expand virtualbox vdi

VBoxManage createhd --filename {newimagename}.vdi -–size {megabytes}

VBoxManage clonehd {originname}.vdi {newimagename}.vdi –-existing

Tuesday, January 10, 2012

Using OpenSSH In Windows GIT

In Environment
HOME = c:\users\{id}

In .ssh in HOME
generate id_rsa

If you have GIT_SSH In Environment, REMOVE!