์๋ช ์ญ์ ๊ฒ์ฆ์ ์ํด ์ ํ๋ ํ์๊ฐ ์๋ค. ์ฆ, ์ง๋ ฌํ๊ฐ ํ์ํ๋ค.
DER(Distinguished Encoding Rules)
- ์๋ช ์ ๋ํด ์์์ ๊ณต๋ถํ์ ๋ ํต์ฌ์ ์ ๊ฐ์ด์๋ค.
- ์ด๋ private key๋ฅผ ๊ณต๊ฐํ์ง ์์ผ๋ฉด์ ๋ค์์ ๋ ์ ๋ณด์ ์
์ฆ์ ์ํ ๊ฐ๋ค์ด๋ผ ํ ์ ์๋ค.
- private key๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ์ ๋ณด
- ๋ด๊ฐ ๋ณด๋ด๋ ์ ๋ณด๋ฅผ ๋ด๊ฐ ๋ณด๋๋ค๋ผ๋ ์ ๋ณด
- ์ ๊ฒฝ์ฐ์๋ ์์ถํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
- ์ด์ ์๋ ํ์ ๊ณก์ ์ด ๊ฐ์ง๋ ๋์นญ์ฑ์ ์ด์ฉํ๋๋ฐ, ์ด ๊ฒฝ์ฐ์๋ ํ ๊ฐ์์ ๋ค๋ฅธ ๊ฐ์ ์ ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์๋ช ์ ์ง๋ ฌํํ๋ ํ์ค์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ ์ ์๋ค. ์ด๋ฒ์๋ ์ฌํ ์๊ฐ ์ฌ์ฉํ๋ DER์ ์์๋ณผ ๊ฒ์ด๋ค.
์ ์ ๋ฐฉ๋ฒ
3045022100ed81ff192e75a3fd2304004dcadb746fa5e24c5031ccfcf213
2060277457c98f02207a986d955c6e0cb35d446a89d3f56100f4d7f67801
ั31967743a9c8e10615bed
- marker - 30
- length of signature - 45
- marker for r value - 02
- r value lenth - 21
- r value (big Endian) - 00ed81ff192e75a3fd2304004dcadb746fa5e24c5031ccfcf213
2060277457c98f
- marker for s value - 02
- s value length - 20
- s value (big Endian) - 7a986d955c6e0cb35d446a89d3f56100f4d7f67801
ั31967743a9c8e10615bed
- ์ฃผ์ํ ์ ์ r, s์ ๊ฐ์ ์ค์ ๋ก ๋ฃ์ ๋ ์ฒซ๋ฒ์งธ ๋ฐ์ดํธ๊ฐ
0x80
๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ00
์ ์์ ๋ถ์ธ ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ์ ์ด๋ค.- ์ด๋ ๊ฒ ๋ ๊ฒฝ์ฐ r, s์ ๊ธธ์ด๋ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ ๊ธธ์ด ํ์๋ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค.
- ์์ ์์๋ฅผ ๋ณด๋ฉด r์ 00์ด ๋ถ์ด์๊ณ , s๋ ์๋๋ค.
- ๊ธธ์ด๋ ๋ฌ๋ผ์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์ ๊ตณ์ด ์ด๋ ๊ฒ ํ ๊น?
- DER ํ์์ด ์์ซ๊ฐ๋ ์์ฉ๊ฐ๋ฅํ ์ผ๋ฐ์ ํ์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ถํธ์๋ ์ด์ง์์์ ์ฒซ๋ฒ์งธ ๋นํธ๊ฐ 1์ธ ๊ฒ์ ์์๋ฅผ ์๋ฏธํ๋ค.
0x80 = 1000 0000
- ํ์ ๊ณก์ ์ ์ ์๋ช
(ECDSA)์์๋ ๋ชจ๋ ๊ฐ์ ์์๋ก ๋ฐ๊ธฐ ๋๋ฌธ์ ์์๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ ๊ฒ!
- ์ฌ๊ธฐ์ ์๋ช ์ ์ข ๋ฅ๊ฐ ์ฌ๋ฌ๊ฐ๊ฐ ๋ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
- ๋ํ ์์ ๊ฐ์ ์ฌ์ฉํ๋ ์๋ช ๋ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
๋ฌธ์ ์
- DER ํ์์ ์ผ๋ฐ์ ์ธ ํ์์ด๊ธฐ ๋๋ฌธ์, ์๋ช ์๊ณ ๋ฆฌ์ฆ์์ ์ฑํํ๋ ํ๋กํ ์ฝ์ ๋ชจ๋ ๋ง์กฑ ์ํฌ ์ ์์ด์ผ ํ๋ค.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐฉ์์ด ์ง์ ๋ถํ๋ค.
- ์๋ r, s๊ฐ์ 256๋นํธ ์ ์์ด๊ณ , ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ 32๋ฐ์ดํธ๋ก ํํ๋ ์ ์๋ค.
- ๊ทธ๋ฐ๋ฐ ์์, ์์์ ๋ํ ๊ฐ์ ๋ณํํด์ผํ๋ ๋ก์ง์ด ๋ค์ด๊ฐ๋ฉด์ 33๋ฐ์ดํธ๋ก ๋ ์๋ ์๋ค.
- ์ค์ ๋ก ์ต๋ DER ํ์์ 72๋ฐ์ดํธ๊น์ง ๊ธธ์ด์ง ์ ์๋ค.
- ์ด๋ฐ ์ ๋๋ฌธ์ ๋นํธ์ฝ์ธ ์ปค๋ฎค๋ํฐ์์๋ ์๋ช ๋ฐฉ์์ ์๋ ธ์ด ๋ฐฉ์์ผ๋ก ๋์ฒดํ์ฌ ๊ณ ์ 64๋นํธ๋ก ๊ฐ์๋ ์๊ฒฌ๋ ์๋ค๊ณ ํ๋ค.
๊ตฌํ
์๋ ธ๋ฅด ์๋ช
- ์๋ ธ๋ฅด์๋ช
- ESCSA์ ์๋ ธ๋ฅด ์๋ช ๋ชจ๋ ๊ฑฐ๋๋ฅผ ๋ณดํธํ๊ณ ๋ฉ์์ง ์ง์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋์งํธ ์๋ช ๋ฐฉ์์ด๋ค.
- ์๋ ธ๋ฅด ์๋ช ์ ํจ์จ์ฑ๊ณผ ํ์ฅ์ฑ์์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฉ์.
- ์๋ ธ๋ฅด ์๋ช ์ ECDSA๋ณด๋ค ํจ์จ์ ์ด๊ณ ๋น ๋ฅด๋ค.
- ์ฌ๋ฌ ์๋ช (์ฌ๋ฌ๋ช ์ด ํ๋ช ์๊ฒ ๋ณด๋ด๋ ๊ฑฐ๋)์ ํ๋์ ์๋ช ์ผ๋ก ๋ง๋ค ์ ์๋ค.
- ์ฆ, ๊ฑฐ๋์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์๊ณ , ๋ธ๋ก์ ๋ ๋ง์ ๊ฑฐ๋๋ฅผ ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ข๋ค.
- ECDSA์ ๊ฒฝ์ฐ ๊ฒ์ฆ๊ณผ ์๋ช ์ ์ํ ๋๊ฐ์ ํค(๊ฐ์ธํค, ๊ณต๊ฐํค)๋ฅผ ๊ฐ์ ธ์ผ ํ์ง๋ง
- ์๋ ธ๋ฅด ์๋ช ์ ๊ฒฝ์ฐ ํ๋์ ํค๋ก ๋๊ฐ์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค. ๋ ๊ฐ๋จํ๋ค.
- ์ด ๋ถ๋ถ์ ๋์ค์ ๋ผ์ ๊ณต๋ถํ๋๋ก ํ๋ค.