Development 18

OpenSSL BIGNUM ( W = G(A)^d x g^D mod n ) ์˜ˆ์ œ

BIGNUM ์„ ์ด์šฉํ•ด ์•„๋ž˜ ๊ณต์‹์€ ์•ž์—์„œ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๊ณ„์‚ฐ์‹œ ๊ฒฐ๊ณผ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง„๋‹ค. $$ W = G(A)^d \times g^D mod n $$ ์ด ์—ฐ์‚ฐ์— ๋Œ€ํ•ด์„œ ์•„๋ž˜ ์ฒ˜๋Ÿผ ๋ณ€ํ˜• ํ•˜๋ฉด ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. $$ T1 = G(A)^d mod n $$ $$ T2 = g^D mod n $$ $$ W = T1 \times T2 mod n $$ ๊ทธ๋Ÿผ OpenSSL BIGNUM ์„ ์ด์šฉํ•ด์„œ ๊ตฌํ•˜๋Š” ์†Œ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. BN_mod_exp( T1, G(A), d, n, pCTX ); BN_mod_exp( T2, g, D, n, pCTX ); BN_mod_mul( W, T1, T2, n, pCTX ); ์‚ฌ์‹ค ์ˆ˜ํ•™์€ ์ž˜๋ชจ๋ฅด์ง€๋งŒ BIGNUM ์„ ์ด์šฉํ•ด ์ˆ˜์‹๋Œ€๋กœ ๊ฐ’์„ ๋งŒ๋“ค๋•Œ ์ด ์ˆ˜์‹์„ ๋‹จ์ˆœํžˆ ์•ž์—์„œ ๋ถ€ํ„ฐ ๊ตฌํ•˜๋‹ˆ ๊ฐ’์ด ๋„ˆ๋ฌด ..

Development 2023.04.27

QT์—์„œ MAC OS ์•ฑ dmg ๋งŒ๋“ค๊ธฐ

1. QT ์—์„œ ๋ฆด๋ฆฌ์ฆˆ ๋นŒ๋“œ ํ•œ๋‹ค 2. ๋นŒ๋“œ๋œ ๋””๋ ‰ํ† ๋ฆฌ ์•ฑ ํด๋”๋ฅผ macdeployqt ๋ช…๋ น์–ด ์‹คํ–‰ ํ•œ๋‹ค 3. macdeployqt ์—์„œ ํฌํ•จ ๋˜์ง€ ์•Š์€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณต์‚ฌ ํ•ด์„œ ์„ค์ • ํ•œ๋‹ค ์ฐธ๊ณ ) https://jykim74.tistory.com/91 4. ๋””์Šคํฌ ์œ ํ‹ธ๋กœ ํ•ด๋‹น ํด๋”๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ ๋‹ค ์ด๋•Œ ์ฝ๊ธฐ ์“ฐ๊ธฐ ๊ฐ€๋Šฅ์œผ๋กœ 5. ์ด๋ฏธ์ง€ ๋งˆ์šดํŠธ ํ›„ Applications ๋งํฌ๋ฅผ ์ฃผ๊ณ  ํ™”๋ฉด ์„ ์‚ฌ์šฉ ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝ ํ•œ๋‹ค. 6. ์ด๋ฏธ์ง€ ์–ธ๋งˆ์šด๋“œ ํ›„ ๋‹ค์‹œ ์ด๋ฏธ์ง€ ๋ณ€ํ™˜์„ ํ†ตํ•ด ์••์ถ•์œผ๋กœ ๋‹ค์‹œ ๋งŒ๋“ ๋‹ค

Development 2023.03.19

Mac์šฉ ํŒจํ‚ค์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐฉ๋ฒ•

๋จผ์ € macdeployqt ๋กœ ํ•ด๋‹น ์•ฑ์ด ์„ค์น˜ ํด๋”๋ฅผ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ํ•œ๋‹ค. macdeployqt /foo.app ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ Contents/Frameworks ํด๋”์— ๋ณต์‚ฌ ํ•œ๋‹ค. cp foo.app/Contents/Frameworks/ ์ฐธ๊ณ ๋กœ ์ •์ƒ์ ์œผ๋กœ ๋””ํ”Œ๋กœ์ด๊ฐ€ ๋˜๋ฉด ์ด ๋ถ€๋ถ„์€ ์•ˆํ•ด๋„ ๋œ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ™•์ธ ํ•œ๋‹ค. otool -L ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๊ฐ€ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ ์‚ฌ์šฉ ์‹œ ์™ธ๋ถ€ ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ @executable_path/../Frameworks/ ๋‹ค์Œ ํด๋”๋กœ ๋ณ€๊ฒฝ ํ•œ๋‹ค. install_name_tool -change @executable_path/../Frameworks/ ๋งŒ์•ฝ malformed object ์—๋Ÿฌ์‹œ /App..

Development 2023.03.18

[OpenSSL] Hash Value ํ•จ์ˆ˜

์•„๋ž˜๋Š” ํ•ด์‰ฌ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ์†Œ์Šค์ด๋‹ค pAlg ์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์€ md5, sha1, sha224, sha256, sm3 ๋“ฑ ๋ฌธ์ž์—ด ์ด๋‹ค. pSrc ๊ฐ€ ์ž…๋ ฅ ๊ฐ’ pHash ๊ฐ€ ๊ฒฐ๊ณผ ํ•ด์‰ฌ ๊ฐ’ BIN ๊ตฌ์กฐ์ฒด typedef struct _BIN { intnLen; unsigned char*pVal; } BIN; int JS_PKI_genHash(const char * pAlg, const BIN * pSrc, BIN * pHash) { intnRet = 0; EVP_MD_CTX*pCTX = NULL; const EVP_MD*pMD = NULL; unsigned char*pDigest = NULL; intnDigestLen = 0; pMD = EVP_get_digestbyname(pAlg); if (pMD == N..

Development 2022.12.09

QT ๋ฐ ๊ฐœ๋ฐœ ๊ด€๋ จ ๋งํฌ

GIT ์‚ฌ์šฉ๋ฒ• https://backlog.com/git-tutorial/kr/intro/intro1_1.html ์•”ํ˜ธ ๊ด€๋ จ ์ •๋ณด https://cryptobook.nakov.com/ Qt example code site http://www.codeprogress.com/cpp/libraries/qt/index.php http://www.bogotobogo.com/index.php Qt forum http://www.qtcentre.org/forum.php How to compile OpenSSL with MinGW https://wiki.qt.io/Compiling_OpenSSL_with_MinGW This site is that you can get various application made by ..

Development 2017.01.26