RSA ํค ๊ธธ์ด๊ฐ 1๋ฐ์ดํธ ์ฐจ์ด ๋๋ ์ด์
๋ณดํต RSA ๊ฐ์ธํค๋ ๊ณต๊ฐํค ๊ฒฝ์ฐ
2048 bit ํค ๊ฒฝ์ฐ ์ฆ 256 ๋ฐ์ดํธ ์ด๋ค. ํ์ง๋ง DER ๋ทฐ์ด ๊ฐ์ ํด๋ก ๋ณด๊ฒ ๋๋ฉด
256 ๋ฐ์ดํธ์ธ ๊ฒฝ์ฐ๋ ์๊ณ 257 ๋ฐ์ดํธ ์ธ ๊ฒฝ์ฐ๋ ์๋ค.
๊ทธ ์ด์ ๋ ๊ฐ์ด INTEGER ํ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
INTEGER ํ์ ์ต์์ ๋นํธ๋ ๋ถํธ(์์/์์) ๋นํธ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
RSA ํค 2048 ๋นํธ ์ ๋ณด ๊ฒฝ์ฐ INTEGER ํ์ ๊ฐ์ผ๋ก์
02 82 01 00 xxxxxxxxxxx ์ด๋ ๊ฒ 01 00 ์ผ๋ก 256 Bytes ๋ก ๋์ค๋ ๊ฒฝ์ฐ๋ ์๊ณ
02 82 01 01 xxxxxxxxxxx ์ด๋ ๊ฒ 01 01 ์ผ๋ก 257 Bytes ๋ก ๋์ค๋ ๊ฒฝ์ฐ๋ ์๋ค.
๊ธธ์ด ๊ฐ์ด 01 01 ๋ ๊ฐ์ ์ฒซ๋ฒ์งธ๋ ํญ์ 0x00 ์ผ๋ก ๋์ค๊ฒ ๋๋ค.
๊ทธ ์ด์ ๋ ์๋ INTEGER ์์ BER ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๋ณด๋ฉด ๋๋ค.
Integer value | BER encoding |
---|---|
0 | 02 01 00 |
127 | 02 01 7F |
128 | 02 02 00 80 |
256 | 02 02 01 00 |
-128 | 02 01 80 |
-129 | 02 02 FF 7F |
์์ ์์ ์์ ๋ณด๋ฉด 128 ์ธ๊ฒฝ์ฐ 00 80 ๊ฐ์ด ์ฐ์ธ๋ค.
์ด๋ ๊ฒ ์ต์์ ๋นํธ๋ ๊ธฐํธ ๋นํธ๋ก ์ฌ์ฉ๋์ด์ ์ต์์ ๋นํธ๊ฐ 1๋ก ๋๋ฉด ์์๊ฐ ์๋์ด์ ์์ 00 ๊ฐ์ด ์ถ๊ฐ๋๋ค.
์ต์์ ๊ฐ์ด 0x80 ๋ณด๋ค ํฌ๋ฉด ํญ์ 0x00 ์ด ์ถ๊ฐ ๋์ด์ 1๋ฐ์ดํธ์ ๊ธธ์ด ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ด๋ค.
์ค์ ๋ก ์์ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ 0x80 ์ด์์ด ์๋ ํ๋ฐ์ดํธ๊ฐ ๋์ด๋์ง ์๋๋ค.
ํ์ง๋ง RSA ํค ๊ฐ์ ๋ค์ด๊ฐ๋ ๊ฐ์ ๋ชจ๋ ์์ ์ด์ด์ผ ํด์ 0x00 ์ด ์ ์ผ ์์ ๋ถ๊ฒ ๋๋ค.
์ฆ 0x80 ์ด์์ด ๊ฐ์ ํญ์ 0x00 0xAA ๋ฑ ์ด๋ ๊ฒ ์์ 0x00 ์ด ์ถ๊ฐ ๋์ด ๊ธธ์ด 1๋ฐ์ดํธ๊ฐ ์ถ๊ฐ ๋๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ 1๋ฐ์ดํธ์ ์ฐจ์ด๊ฐ ๋๋๊ฒ์ ๊ผญ RSA ํค ๊ธธ์ด์ ํด๋น ํ๋ ๊ฒ ๋ฟ๋ง์๋๋ผ
์ผ๋ฐ์ ์ผ๋ก INTEGER ํ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ ํน์ฑ์ ๊ฐ์ง๊ฒ ๋๋ค.