Lector de Feeds
OTPNitro project
OTP Nitro
About: OTP Nitro is a secure One Time Pad implementation to use on computers or as assistant on manual operations.
You can download it here:
CLI Usage
Generate OTP pages on the "TST" book:
C:\> .\otpnitro.exe -g -r TST OTP Nitro 0.1 ------------- [I] Generating OTP: TST. OKEncrypt message:
C:\> otpnitro.exe -e -s CPX -r TST -m "ESTO ES UNA PRUEBA" OTP Nitro 0.1 ------------- [I] Encrypted msg: TST DE CPX 11 = RHJQG AKZQV RUMKV IYHJY YQYVT =Decrypt message:
C:\> otpnitro.exe -d -p 11 -s CPX -r TST -m "RHJQG AKZQV RUMKV IYHJY YQYVT" OTP Nitro 0.1 ------------- [I] Decrypted msg: TST DE CPX 11 = ESTO ES UNA PRUEBA =Decrypt formated message:
C:\> otpnitro.exe -d -f "TST DE CPX 11 = RHJQG AKZQV RUMKV IYHJY YQYVT =" OTP Nitro 0.1 ------------- [I] Decrypted msg: TST DE CPX 11 = ESTO ES UNA PRUEBA =Burn a page:
C:\> otpnitro.exe -b -p 11 -r TST OTP Nitro 0.1 ------------- [I] Burn page 11. OK
GUI Usage
Introduction OTPNITRO is a secure One Time Pad implementation to use on computers or as assistant on manual operation.
Concepts In this chapter we describe the basic concepts to use in this app.
1. **Books** The cipher data is stored on books, every book have "pages" where the data is generated. The books usually have very short names, from 3 to 5 characters. 2. **Pages** The pages store the cipher to crypt and decrypt, every page is unique and after use it you must burn the used page. 3. **From field** The recipient is anyone who have the same book than you used to crypt the message and you must identify yourself as sender in the from field. The IDs usually have very short names, from 3 to 5 characters. 4. **Formatted message** To have a send/receive standar format, please use this one: <BOOK> DE <FROM> <PAGE> = <MESSAGE> =
Example:
TST DE CPX 2 = QSZBO IGFIY NVTVY BFXCB KROAP =Operations In this chapter we describe the basic operations.
1. **Generate a book** The first operation is generate a book, to do this, please use the menu: Books -> Generate Book or press CTRL + G keys. 2. **Crypt** To crypt a message you must provide a valid book in the selector, an arbitrary ID in the form field and a message unformated to crypt. The page will be selected automatically. Later you must use the menu: Crypto -> Crypt or press CTRL + E keys. 3. **Decrypt** To decrypt a message you can provide a formatted message, in this case you only must select the "Formatted msg" option. If you dont have the format, you can enter all fields manually. Later you must use the menu: Crypto -> Decrypt or press CTRL + D keys. 4. **Burn page** It is recommended to burn the page after use, but if you want to do this manually (or later) you can use the menu: Crypto -> Burn page or press CTRL + B keys. 5. **Refresh books** If you modify or delete any book in the filesystem you must refresh the books in the app. To do that you can use the menu: Crypto -> Refresh books or press CTRL + R keys.Internals In this chapter we describe internal operations, know bugs or missing features.
1. **Settings** The settings/config file must be located on %APPDATA%/.otpnitro/otpnitro.ini or $HOME/.otpnitro/otpnitro.ini 2. **Book storing** By default the books are stored on %APPDATA%/.otpnitro/PAGES or $HOME/.otpnitro/PAGES (this can be changed in the config file) 3. **Max pages parameter** Is the number of pages generated for book. (this value limits the number of messages to be crypted on a book) 4. **Max chars parameter** Is the number of characters generated for page. (this value limits the number of text to be crypted) 5. **Project URL** For more information, updates, etc. you can visit the project [homepage](https://code.haibane.net/crypto/otpnitro).License This program is under the GPLv3 license.
Authors * @capi_x <capi_x@haibane.net>
Acknowledges * @Mario_vilas - Thanks for GUI and crypto testing. * @sha0coder - Thanks for CLI and GUI testing. * @AloneInTheShell - Thanks for CLI and LIB testing.
CLI compile guide
Compile:
Generic / Debian:
makeFreeBSD:
CXX=clang++ gmake
Install:
Generic:
make installFreeBSD:
CXX=clang++ gmake freebsd-cliDebian:
make debian-cli
GUI compile guide
First you must install the U++ enviroment. Once installed you must add the otpnitrogui project. (Windows users also must install MinGW)
Next you must put the otpnitro path in the package textbox.
Click on the output mode button.
Fill all settings as in the image.
Next select "Build methods" menu
Again fill all options and add the otpnitro path to "lib directories"
Ok, you can build all now pressing the F7 key.
Install:
Generic:
make installFreeBSD:
CXX=clang++ gmake freebsdDebian:
make debian
Bindings
OTP Nitro supports bindings to other languages using SWIG
Python
1. **Compile**: make bindings 2. **Install**: make python-otpnitro ( Install the .deb or .tzx package ) 3. **Usage** Once installed: >> import otpnitro >> page = otpnitro.Page() >> print page.list()
API
The API documentation is located here:
Features
- Generate pages and books
- Encrypt messages
- Decrypt messages
- Burn pages (secure delete)
- Automatic text format (header)
- GUI using Ultimate++
- API and library
- Bindings
TODO
- Automatic file parse daemon
- Print pages
License
OTP Nitro is released under the GPLv3 license.
z/OS Install and configure RMF Distributed Data Server
Configure RMF Distributed Data Server:
PERMIT BPX.DAEMON CLASS(FACILITY) ID(START2) ACCESS(READ) RDEFINE APPL GPMSERVE UACC(READ) RDEFINE PROGRAM GPM* ADDMEM('SYS1.SERBLINK'//NOPADCHK) UACC(READ) RDEFINE PROGRAM ERB* ADDMEM('SYS1.SERBLINK'//NOPADCHK) UACC(READ) RDEFINE PROGRAM CEEBINIT ADDMEM('CEE.SCEERUN'//NOPADCHK) UACC(READ) RDEFINE PROGRAM IEEMB878 ADDMEM('SYS1.LINKLIB'//NOPADCHK) UACC(READ) RDEFINE PROGRAM GPMDDSRV ADDMEM('SYS1.SERBLINK'//NOPADCHK) UACC(READ) RDEFINE PROGRAM ADME000O ADDMEM('GDDM.SADMMOD'//NOPADCHK) UACC(READ) SETROPTS WHEN(PROGRAM) REFRESHSTART DDS, RMF and RMFGAT (commands in console or SDSF panel)
/S GPMSERVE /S RMF /F RMF,START IIINow download and install the RMF pm for Windows or Linux.
Once installed, execute and connect to your z/OS system. You must view something similar to that:
z/OS SUBMIT JOBS in FTP
List datasets...
ftp> dir 200 Port request OK. 125 List started OK Name VV.MM Created Changed Size Init Mod Id HELLO 01.01 2013/10/22 2013/10/24 22:06 13 13 1 CAPI HELLO2 01.02 2013/10/22 2013/10/24 22:06 13 12 5 CAPI LISTDS 01.02 2013/10/22 2013/10/24 22:07 15 10 8 CAPI MSGCON 01.01 2013/10/22 2013/10/24 22:07 8 8 1 CAPI 250 List completed successfully.Now change to JES2 mode
ftp> QUOTE SITE FILETYPE=JES 200 SITE command was acceptedNow (in JES mode) when we GET a dataset, really we make a SUBMIT.
ftp> GET 'CAPI.JCL.TEST(HELLO)' 200 Port request OK. 125-Submitting job 'CAPI.JCL.TEST(HELLO)' FIXrecfm 80 125 When JOB00865 is done, will retrieve its outputz/OS CLIST tutorial (DRAFT)
- Language definition:
1.0 Comments
/* THIS IS A COMMENT */1.1 Header
PROC 0 /* PROC [NUM PARAMETERS] */ PROC 1 XXXXXXXX /* New rutine PARAMETER1 = XXXXXXXX */1.2 Variables
PROC 1 INPUT SET VARIABLE = &INPUT SET STRING = HELLO WORLD1.3 Conditional
IF &VARIALBE = TEST THEN + WRITE TEST ELSE IF &VARIABLE = PROD THEN + WRITE PROD ELSE IF &VARIABLE ¬= NEGA THEN + WRITE OTHR ELSE DO + WRITE ERR1 EXIT END1.4 While
SET WHILE = &STR(ABC) DO UNTIL &WHILE = &STR(ABC) WHILE (&COUNT<5) SET &COUNT = &COUNT + 1 END1.5 Strings
IF &SUBSTR(1:4,&SYSUID) ¬= TEST AND + &SUBSTR(1:3,&SYSUID) ¬= DEV AND THEN DO WRITE "NOT ALLOWED" END1.6 Execute commands
LISTUSER SELECT PGM(ISRUDL) PARM(ISRUDLP) SCRNAME(DSLIST)1.7 ISPF panels
ISPEXEC SELECT PANEL(XXX)- Execute a CLIST
2.0 TSO EXEC
TSO EXEC 'DATASET.CLIST(PROGRAM)'2.1 Alloc to SYSPROC
TSO ALLOC FILE(SYSPROC) DATASET('DATASET.CLIST') SHR REUSE TSO %PROGRAMz/OS create user (DRAFT)
