암호학 응용 Applied cryptography 2017. 9. 중부대학교 정보보호학과 이병천 교수
차례 1. 강의 개요 2. Javascript Cryptography 3. Node.js crypto 4. CryptoJS 5. Forge 6. Web Crypto API
2. Javascript Cryptography
자바스크립트 객체 기반의 스크립트 프로그래밍 언어 객체 기반의 스크립트 프로그래밍 언어 웹브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기 능을 가지고 있음 Node.js와 같은 런타임 환경과 같이 서버 사이 드 네트워크 프로그래밍에도 사용되고 있음 자바스크립트는 본래 넷스케이프 커뮤니케이 션즈 코퍼레이션의 브렌던 아이크(Brendan Eich)가 처음에는 모카(Mocha)라는 이름으로, 나중에는 라이브스크립트(LiveScript)라는 이 름으로 개발하였으며, 최종적으로 자바스크립 트가 됨 자바스크립트가 썬 마이크로시스템즈의 자바 와 구문(syntax)이 유사한 점도 있지만, 이는 사실 두 언어 모두 C 언어의 기본 구문을 바탕 했기 때문이고, 자바와 자바스크립트는 직접 적인 관련성이 없다.
브라우저에서의 자바스크립트 Html 문서 내부에서 <script></script> 태그 내부에서 사용 사용자의 브라우저에서 자바스크립트를 실행 html 문서에서 script 태그의 src 속성을 이용하여 외부 자바스크립트 문서를 읽어와서 사용 가능 <script type="text/javascript"> document.write("<p>Hello World!</p>"); </script> <script src="js/bootstrap.min.js"></script>
서버측 프로그래밍에서의 자바스크립트 Node.js 환경에서 자바스크립트 프로그램을 직접 실행 가능 > node test.js 자바스크립트를 이용하여 웹서버 구축 가능
자바스크립트 암호 라이브러리 Node.js crypto Node.js에 내장된 기본 암호 라이브러리 https://nodejs.org/dist/latest-v6.x/docs/api/crypto.html 별도로 패키지 설치할 필요 없이 바로 적용 가능
자바스크립트 암호 라이브러리 Crypto-js 구글에서 만든 자바스크립트 암호 라이브러리 https://www.npmjs.com/package/crypto-js 설치: > npm install crypto-js
자바스크립트 암호 라이브러리 Forge A native implementation of TLS (and various other cryptographic tools) in JavaScript. https://www.npmjs.com/package/node-forge 설치: > npm install node-forge
자바스크립트 암호 라이브러리 Web Cryptography API W3C에서 표준화 진행중 https://www.w3.org/TR/WebCryptoAPI/