I'm free

[개역한글][LabVIEW] 성경뷰어 -v2(데이터 암호화) 본문

LabVIEW/Character Generator (자막기)

[개역한글][LabVIEW] 성경뷰어 -v2(데이터 암호화)

freerevival 2018. 3. 11. 23:31

LabVIEW로 성경 뷰어를 만들어 보기로 했습니다.

성경 선택후 바로 화면 PPT 출력 할수 있으면 참 좋을텐데 라는 생각으로 시작.

 

두번째 작업입니다.

성경 데이터의 변조를 방조하기 위해서 약간의 암호화를 하고자 합니다.

( 랜덤 암호키 방식 + 쉬프트 방식 ) - 가장 기초적인 암호학.

 

1. DB데이터를 암호화

DB데이터를 문자열로 읽은 후 연산을 위해

> 문자열을 바이트 배열로 변환

바이트로 변환된 데이터에 랜덤 수(key)를 발생시키고 그 수를 더한후 다시

(바이트 데이터를 이진데이터로 바로 저장하여도 되나,

그런경우 데이터의 크기가 10배정도 커지는 문제가 발생함)

> 바이트 배열을 문자열로 변환

 

 

문자열로 변환된 데이터를 다시 읽어서 암호화되었는지 확인

 

2. 암호화된 데이터를 복호화

위 방식을 역으로 진행

문자열 -> 바이트 -> 랜덤수(key) 빼기 -> 문자열

 

문자열로 변환된 데이터를 다시 읽어서 복호화되었는지 확인

 

3. 무결성 검사

DB데이터 전체가 실제로 일치하는지 확인

원본 DB데이터와 복호화 데이터를 모든 원소에 대하여 비교

쉬프트 레지스트와 AND연산을 통하여

하나라도 False일경우 False(불일치) 판정

 

4. 저장

최종 데이터와 Key(랜덤수)를 저장하여 마무리,

 

*. 이 방식으로 할경우

1. 암호키 생성 방식

2. 암호키 연산 방식

이 두방식을 조금 변경하면 알고리즘을 모르면 일반 유저는 복호화 하기 어려움.

 

==================

v02-데이터 암호화

// 다음 소스부터는 복호화만 사용

 

원본 파일

bible_02.vi

 

실행파일 - 생략

 

 

 

 

개인적으로는 전에 만들어둔 랜덤키 발생 프로그램을 이용하여 키를 만들예정

(비례방식의 랜덤키 발생 - 키 중복 체크용)

num : 목표갯수 mod : 난수 최대값 X0 : 시작수 a : 배율 c : 옵셋

자세한건 다음에 원본소스와 함께 업로드 하겠음. -언젠가?

 

설명과 함께 업로드함.

중복없는 난수생성기

[LabVIEW] Random Number(암호화난수발생용)

2018/03/27 - [Study/Labview(exe)] - [LabVIEW] Random Number(암호화난수발생용)

 

 

자막기 프로젝트 목록

2018/05/31 - [Study] - [LabVIEW][Character generator] 자막기 프로젝트 목록

 

 

기존 엑셀 방식의 성경 뷰어

2018/01/13 - [OpenHeaven] - [개역한글] 성경 엑셀 v03

 

Labview 2017 프로그램 설치방법 (프로그램 수정시)

2017/11/28 - [Study/Labview(study)] - [LabView] LabView 2017 설치

 

Runtime Engine 설치방법 (실행파일만 실행시)

2017/11/28 - [Study/Labview(study)] - [Labview] Run-Time Engine

 

 

 

Comments