Severity: Notice
Message: Trying to access array offset on value of type null
Filename: ver3/Article.php
Line Number: 124
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 124
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: Notice
Message: Trying to access array offset on value of type null
Filename: ver3/Article.php
Line Number: 125
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 125
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
암호는 무엇일까요? 암호는 원하는 사람만 알 수 있도록 약속을 정해서 만든 신호나 부호입니다.
로마제국의 정치가였던 율리우스 카이사르는 평소 가족이나 친지들과 비밀통신을 할 때 암호를 즐겨 사용했다고 합니다. 카이사르의 암호는 1:1 대응관계를 갖는 함수로 나타낼 수 있습니다.
이것처럼 고대의 암호는 많습니다. 그 중 고대 그리스의 역사학자 플루타르크에 따르면 약 2,500년 전 그리스의 도시 국가였던 스파르타에서는 전쟁터에 나가있는 군대에 비밀메시지를 전할 때 암호를 사용했다고 합니다. 무적이었던 스파르타군이 최초로 사용한 암호는 바로 스키테일 이라는 암호입니다.
그러면 고대의 암호만 있을까요? 현대에서는 주민등록번호에도 암호가 숨어져 있습니다. 주민등록번호의 앞 여섯 자리는 생년월일입니다. 만약 누군가의 생일이 1998년 4월 10일이라면 앞자리는 980410이 되는 것이죠. 뒷 자리 번호 중 맨 앞의 1이나 3은 남자라는 뜻이고 여자의 경우 2나 4를 씁니다. 다음 뒷 자리 5개의 숫자는 시,군,동 등 행정구역의 번호 입니다. 그리고 맨 마지막에 있는 숫자, 바로 그 숫자가 주민등록번호의 열쇠가 되는 숫자 입니다.
만약 어떤 사람의 주민등록번호가 980410-210068♦ 라면 980410210068까지 적고 그 밑에 234567892345를 놓습니다.
9 8 0 4 1 0 2 1 0 0 6 8
2 3 4 5 6 7 8 9 2 3 4 5
그리고 위에 있는 수와 아래 있는 수를 각각 곱한 것을 모두 더합니다. 즉, 9×2+8×3+0×4+......이렇게 말이죠. 결과는 157이 됩니다. 그렇다면 157+♦=11의 배수가 되어야 합니다. ♦안의 숫자가 바로 맨 마지막에 넣는 숫자 입니다. 157보다 큰 수에서 11의 배수는 165이겠지요? 따라서 ♦안에 들어가야 할 수는 바로 8이 됩니다. 그러므로 이 사람의 주민등록번호는 980410-2100688입니다.
또다른 현대의 암호에는 국제표준도서번호인 ISBN(International Standard Book Number) 입니다. 전 세계에서 출판되는 모든 책은 그 책의 고유번호인 ISBN이 부여됩니다. ISBN에는 책을 출판한 국가, 발행인, 도서명 등의 정보가 담겨 있습니다. 그 중 마지막 숫자가 바로 열쇠가 되는 체크숫자로, 정확한 ISBN이 맞는지 여부를 확인할 수 있습니다.
ISBN의 체크숫자 정하는 방법 체크숫자는 앞에서부터 홀수 번째 자리에 있는 숫자들을 그대로 더하고, 짝수 번째 자리에 있는 숫자들은 3배하여 더한 전체의 합이 10의 배수가 되도록 정합니다. |
다음은 체크숫자가 손상된 ISBN입니다. 손상된 체크숫자를 구해 봅시다.
ISBN: 978-89-6832-227-♦
1. 먼저 홀수 번째 자리에 있는 숫자들을 더합니다. 9+8+9+8+2+2+♦=38+♦
2. 다음으로 짝수 번째 자리에 있는 숫자들의 3배의 합을 구합니다. (7+8+6+3+2+7)×3=33×3=99
3. 이 때 38+♦+99=137+♦는 10의 배수입니다.
♦는 0부터 9까지의 숫자 중 하나이므로, 137+♦가 10의 배수가 되려면 ♦=3이어야 합니다. 따라서 손상된 마지막 숫자는 3이 됩니다.
<암호와 관련된 단어>
스테가노그래피 전달하려고 하는 메시지 자체를 감추는 것
크립토그래피 메시지의 의미를 감추는 것
암호화 원래의 메시지를 정한 방법에 따라 바꾸는 과정
암호문 의미를 알 수 없는 문자들로 늘어놓은 문장
복호화 암호화하는 과정을 거꾸로 실행해서 암호문의 내용을 알아내는 과정
암호해독 권한이 허락되지 않은 사용자가 암호의 뜻을 알아내는 행위
대체암호(치환암호) 글자의 배열은 그대로 하고, 각각의 글자를 다른 글자로 바꾸는 것
평문(아직 어떠한 형태로도 바꾸지 않은 보통의 정보)의 문자를 다른 문자로 대웅시키는 암호 시스템
<종류>
스키테일 암호 종이에 글씨를 쓰고 일정한 둘레에 감아 가로로 만든 암호
전치 암호 메시지를 문자는 그대로 사용하고 위치만 바꾸어 암호문을 만드는 방법
울타리 암호 메시지를 윗줄과 아랫줄에 번갈아 쓴 후, 윗줄과 아랫줄을 한 줄로 써서 암호문을 만든 것
카이사르 암호 평문의 글자를 3글자씩 뒤로 물려 읽는 방법으로 암호화 (더하기 암호)
아핀 암호 평문의 각 문자를 숫자(0~25)mod로 바꾼 뒤 어떤 수를 곱한 후에 또 다른 수를 더하여 얻는 암호 방식
Severity: Notice
Message: Undefined variable: tag_news_list
Filename: inc/article_view.php
Line Number: 90
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/views/ver3/inc/article_view.php
Line: 90
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 221
Function: view
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: Warning
Message: count(): Parameter must be an array or an object that implements Countable
Filename: inc/article_view.php
Line Number: 90
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/views/ver3/inc/article_view.php
Line: 90
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 221
Function: view
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
좋아요
4
유익해요
3
웃겨요
0
신기해요
0
어려워요
0
좋은 기사네요. 다만 2020년 10월부터 주민등록번호 체계가 개정되어, 2020년 10월 이후 출생한 국민들은 다른 방식으로 민번을 부여받습니다. 이 점을 언급해 주셨으면 더욱 좋았을 것 같습니다.
https://www.mois.go.kr/frt/bbs/type010/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000008&nttId=74731
https://view.asiae.co.kr/article/2020101519261172015