├── README.md
├── RSA.cache
└── wt
│ ├── java_command_handlers.wdf
│ ├── project.wpc
│ ├── synthesis.wdf
│ ├── webtalk_pa.xml
│ └── xsim.wdf
├── RSA.hw
├── RSA.lpr
└── webtalk
│ ├── .xsim_webtallk.info
│ ├── labtool_webtalk.log
│ ├── usage_statistics_ext_labtool.html
│ └── usage_statistics_ext_labtool.xml
├── RSA.ip_user_files
└── README.txt
├── RSA.sim
└── sim_1
│ └── behav
│ ├── compile.bat
│ ├── compile.log
│ ├── elaborate.bat
│ ├── elaborate.log
│ ├── glbl.v
│ ├── simulate.bat
│ ├── simulate.log
│ ├── tb_main.tcl
│ ├── tb_main_behav.wdb
│ ├── tb_main_vlog.prj
│ ├── webtalk.jou
│ ├── webtalk.log
│ ├── webtalk_4860.backup.jou
│ ├── webtalk_4860.backup.log
│ ├── xelab.pb
│ ├── xsim.dir
│ ├── tb_main_behav
│ │ ├── Compile_Options.txt
│ │ ├── TempBreakPointFile.txt
│ │ ├── xsim.dbg
│ │ ├── xsim.mem
│ │ ├── xsim.reloc
│ │ ├── xsim.rtti
│ │ ├── xsim.svtype
│ │ ├── xsim.type
│ │ ├── xsim.xdbg
│ │ ├── xsimcrash.log
│ │ ├── xsimk.exe
│ │ └── xsimkernel.log
│ ├── xil_defaultlib
│ │ ├── control.sdb
│ │ ├── glbl.sdb
│ │ ├── inverter.sdb
│ │ ├── mod.sdb
│ │ ├── mod_exp.sdb
│ │ ├── tb_main.sdb
│ │ └── xil_defaultlib.rlx
│ └── xsim.svtype
│ ├── xsim.ini
│ ├── xvlog.log
│ └── xvlog.pb
├── RSA.srcs
├── sim_1
│ └── new
│ │ ├── mod_tb.v
│ │ ├── tb_inverter.v
│ │ ├── tb_main.v
│ │ └── tb_mod_exp.v
└── sources_1
│ └── new
│ ├── control.v
│ ├── dff.v
│ ├── divider.v
│ ├── inverter.v
│ ├── mod.v
│ ├── mod_exp.v
│ └── mux.v
├── RSA.xpr
├── archive_project_summary.txt
├── vivado.jou
└── vivado.log
/README.md:
--------------------------------------------------------------------------------
1 | # RSA Cryptosystem implementation in Verilog
2 |
3 | Modules include
4 | - Modular Inverter
5 | - Modular Exponentiator
6 | - Divider
7 |
--------------------------------------------------------------------------------
/RSA.cache/wt/java_command_handlers.wdf:
--------------------------------------------------------------------------------
1 | version:1
2 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f75726365636f6d6d616e642e7061636f6d6d616e646e616d65735f73696d756c6174696f6e5f72756e5f6265686176696f72616c2c2072756e206265686176696f72616c2073696d756c6174696f6e:3239:00:00
3 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e66696c6573657470616e656c5f66696c655f7365745f70616e656c5f747265652c205b726f6f742c2064657369676e20736f75726365732c20636f6e74726f6c2028636f6e74726f6c2e76:38:00:00
4 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e66696c6573657470616e656c5f66696c655f7365745f70616e656c5f747265652c205b726f6f742c2073696d756c6174696f6e20736f75726365732c2073696d5f312c206d6f645f746220286d6f645f74622e76:31:00:00
5 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e66696c6573657470616e656c5f66696c655f7365745f70616e656c5f747265652c205b726f6f742c2073696d756c6174696f6e20736f75726365732c2073696d5f312c2074625f6d61696e202874625f6d61696e2e76:32:00:00
6 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e66696c6573657470616e656c5f66696c655f7365745f70616e656c5f747265652c205b726f6f742c2073696d756c6174696f6e20736f75726365732c2073696d5f315d2c2036:31:00:00
7 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e66696c6573657470616e656c5f66696c655f7365745f70616e656c5f747265652c205b726f6f742c2073696d756c6174696f6e20736f75726365735d2c2035:31:00:00
8 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e666c6f776e6176696761746f727472656570616e656c5f666c6f775f6e6176696761746f725f747265652c205b2c2072746c20616e616c797369732c20656c61626f726174696f6e2073657474696e67735d2c2031332c2066616c7365:31:00:00
9 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e666c6f776e6176696761746f727472656570616e656c5f666c6f775f6e6176696761746f725f747265652c205b2c2072746c20616e616c797369732c206f70656e20656c61626f72617465642064657369676e5d2c2031342c2074727565:32:00:00
10 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636565746f682e666c6f776e6176696761746f727472656570616e656c5f666c6f775f6e6176696761746f725f747265652c205b2c2073696d756c6174696f6e2c2072756e2073696d756c6174696f6e5d2c2031312c2066616c7365:3332:00:00
11 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f757263656f746f702e706176696577735f70726f6a6563745f73756d6d6172792c2070726f6a6563742073756d6d617279:31:00:00
12 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70617265736f7572636574746f7a2e7461736b62616e6e65725f636c6f73652c2028737472696e67:31:00:00
13 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e626173656469616c6f675f63616e63656c2c2063616e63656c:32:00:00
14 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e626173656469616c6f675f6f6b2c206f6b:3230:00:00
15 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e72646976696577735f77617665666f726d5f7669657765722c203132302c20323039:31:00:00
16 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e72646976696577735f77617665666f726d5f7669657765722c203133362c20323235:31:00:00
17 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e72646976696577735f77617665666f726d5f7669657765722c2038312c20313936:31:00:00
18 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e72646976696577735f77617665666f726d5f7669657765722c20756e7469746c65642032302a:31:00:00
19 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e72646976696577735f77617665666f726d5f7669657765722c20756e7469746c65642032322a:31:00:00
20 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e77617665666f726d6e616d65747265655f77617665666f726d5f6e616d655f747265652c205b747275652c206d6f645f6578705f66696e6973685d2c20382c2066616c73652c2066616c73652c2066616c73652c2066616c73652c20747275652c2066616c7365:31:00:00
21 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e77617665666f726d6e616d65747265655f77617665666f726d5f6e616d655f747265652c205b747275652c206d73675f696e5b3235353a305d5d2c20362c20747275652c2066616c73652c2066616c73652c2066616c73652c20747275652c2066616c7365:31:00:00
22 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e77617665666f726d6e616d65747265655f77617665666f726d5f6e616d655f747265652c205b747275652c206d73675f6f75745b3235353a305d5d2c20372c2074727565:34:00:00
23 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7264697265736f757263652e77617665666f726d6e616d65747265655f77617665666f726d5f6e616d655f747265652c205b747275652c206d73675f6f75745b3235353a305d5d2c20372c20747275652c2066616c73652c2066616c73652c2066616c73652c20747275652c2066616c7365:3132:00:00
24 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203132322c20323132:31:00:00
25 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203230342c20313437:31:00:00
26 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203231312c20323038:31:00:00
27 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203232362c20313332:31:00:00
28 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203235372c20343839:31:00:00
29 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203336342c20313236:31:00:00
30 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203337382c20313430:31:00:00
31 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203436352c20333435:31:00:00
32 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203437352c20323334:31:00:00
33 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f6e74726f6c2e762c203439382c20333239:31:00:00
34 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:696e7665727465722e762c203138332c20313030:31:00:00
35 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:696e7665727465722e762c203230312c203531:31:00:00
36 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:696e7665727465722e762c203230322c203730:31:00:00
37 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203131312c203631:31:00:00
38 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203133322c203433:31:00:00
39 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203231332c203730:31:00:00
40 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203234372c203830:31:00:00
41 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203336352c20313132:31:00:00
42 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203337322c20313834:31:00:00
43 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203337372c20313835:31:00:00
44 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203337392c20313835:31:00:00
45 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203337392c203138352c2066616c73652c2066616c73652c2066616c73652c2066616c73652c2074727565:31:00:00
46 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536312c20313834:31:00:00
47 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536332c20323136:31:00:00
48 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536362c20323137:32:00:00
49 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536362c203231372c2066616c73652c2066616c73652c2066616c73652c2066616c73652c2074727565:31:00:00
50 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536362c20323138:32:00:00
51 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536372c20323031:31:00:00
52 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203536382c20323530:31:00:00
53 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6d6f645f6578702e762c203537352c20313437:31:00:00
54 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203132362c20323637:31:00:00
55 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203135322c20323632:31:00:00
56 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203135342c203735:31:00:00
57 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203137352c20323636:31:00:00
58 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138362c20313130:31:00:00
59 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138362c20323437:31:00:00
60 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138372c20323333:31:00:00
61 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138372c20323434:32:00:00
62 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138372c20323435:33:00:00
63 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138372c203538:31:00:00
64 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138382c20323439:31:00:00
65 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138392c20323431:31:00:00
66 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203138392c20323435:31:00:00
67 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203139302c20323436:31:00:00
68 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203139312c20323434:31:00:00
69 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203139352c20323635:31:00:00
70 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203230302c203538:31:00:00
71 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203230372c203739:31:00:00
72 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203230392c20323632:31:00:00
73 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203231342c20323631:31:00:00
74 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203231352c20323437:31:00:00
75 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203231352c20323539:31:00:00
76 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203235352c20323634:31:00:00
77 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203235382c20323631:31:00:00
78 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203331382c20313135:31:00:00
79 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630302c20323632:32:00:00
80 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630302c20323634:31:00:00
81 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630302c20323635:31:00:00
82 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630302c20323636:31:00:00
83 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630312c20323632:31:00:00
84 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630312c20323633:31:00:00
85 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630322c20323633:32:00:00
86 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630332c203132382c2066616c73652c2066616c73652c2066616c73652c2066616c73652c2074727565:31:00:00
87 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630332c20313239:31:00:00
88 | 70726f6a656374:706c616e5f61686561645f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:74625f6d61696e2e762c203630332c20323637:31:00:00
89 | eof:4271969805
90 |
--------------------------------------------------------------------------------
/RSA.cache/wt/project.wpc:
--------------------------------------------------------------------------------
1 | version:1
2 | 6d6f64655f636f756e7465727c4755494d6f6465:23
3 | eof:
4 |
--------------------------------------------------------------------------------
/RSA.cache/wt/synthesis.wdf:
--------------------------------------------------------------------------------
1 | version:1
2 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d70617274:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
3 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e616d65:72746c5f31:00:00
4 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d746f70:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
5 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d696e636c7564655f64697273:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
6 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d67656e65726963:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
7 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d766572696c6f675f646566696e65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
8 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636f6e737472736574:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
9 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d7365755f70726f74656374:64656661756c743a3a6e6f6e65:00:00
10 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d666c617474656e5f686965726172636879:64656661756c743a3a72656275696c74:00:00
11 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d67617465645f636c6f636b5f636f6e76657273696f6e:64656661756c743a3a6f6666:00:00
12 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d646972656374697665:64656661756c743a3a64656661756c74:00:00
13 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c:5b7370656369666965645d:00:00
14 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c5f736b69705f6970:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
15 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c5f736b69705f636f6e73747261696e7473:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
16 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f6c63:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
17 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d62756667:64656661756c743a3a3132:00:00
18 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d66616e6f75745f6c696d6974:64656661756c743a3a3130303030:00:00
19 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73687265675f6d696e5f73697a65:64656661756c743a3a33:00:00
20 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d6f6465:64656661756c743a3a64656661756c74:00:00
21 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d66736d5f65787472616374696f6e:64656661756c743a3a6175746f:00:00
22 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6b6565705f6571756976616c656e745f726567697374657273:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
23 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d7265736f757263655f73686172696e67:64656661756c743a3a6175746f:00:00
24 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636173636164655f647370:64656661756c743a3a6175746f:00:00
25 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636f6e74726f6c5f7365745f6f70745f7468726573686f6c64:64656661756c743a3a6175746f:00:00
26 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f6272616d:64656661756c743a3a2d31:00:00
27 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f7572616d:64656661756c743a3a2d31:00:00
28 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f647370:64656661756c743a3a2d31:00:00
29 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f6272616d5f636173636164655f686569676874:64656661756c743a3a2d31:00:00
30 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f7572616d5f636173636164655f686569676874:64656661756c743a3a2d31:00:00
31 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d726574696d696e67:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
32 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f73726c65787472616374:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
33 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d617373657274:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
34 | 73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f74696d696e675f64726976656e:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
35 | eof:3025419679
36 |
--------------------------------------------------------------------------------
/RSA.cache/wt/webtalk_pa.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 | -
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | -
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | -
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
--------------------------------------------------------------------------------
/RSA.cache/wt/xsim.wdf:
--------------------------------------------------------------------------------
1 | version:1
2 | 7873696d:7873696d5c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73696d5f6d6f6465:64656661756c743a3a6265686176696f72616c:00:00
3 | 7873696d:7873696d5c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73696d5f74797065:64656661756c743a3a:00:00
4 | eof:241934075
5 |
--------------------------------------------------------------------------------
/RSA.hw/RSA.lpr:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/RSA.hw/webtalk/.xsim_webtallk.info:
--------------------------------------------------------------------------------
1 | 1468768967
2 | 0
3 | 2
4 | 0
5 | 4f764db9-066d-449b-9ecf-054e1d08f457
6 |
--------------------------------------------------------------------------------
/RSA.hw/webtalk/labtool_webtalk.log:
--------------------------------------------------------------------------------
1 |
2 | ****** Webtalk v2016.2 (64-bit)
3 | **** SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | **** IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved.
6 |
7 | source G:/study/verilog/RSA/RSAfinal/.Xil/Vivado-2804-dell/PrjAr/_X_/RSA.hw/webtalk/labtool_webtalk.tcl -notrace
8 | INFO: [Common 17-206] Exiting Webtalk at Sun Jul 17 20:52:48 2016...
9 |
--------------------------------------------------------------------------------
/RSA.hw/webtalk/usage_statistics_ext_labtool.html:
--------------------------------------------------------------------------------
1 |
Device Usage Statistics Report
2 | LABTOOL Usage Report
3 |
4 | software_version_and_target_device |
5 | beta | FALSE |
6 | build_version | 1577090 |
7 |
date_generated | Sun Jul 17 20:52:47 2016 |
8 | os_platform | WIN64 |
9 |
product_version | Vivado v2016.2 (64-bit) |
10 | project_id | 4f764db9-066d-449b-9ecf-054e1d08f457 |
11 |
project_iteration | 1 |
12 | random_id | 47de97f2-7adf-4dcf-838c-544cedf0f651 |
13 |
registration_id | 47de97f2-7adf-4dcf-838c-544cedf0f651 |
14 | route_design | FALSE |
15 |
target_device | not_applicable |
16 | target_family | not_applicable |
17 |
target_package | not_applicable |
18 | target_speed | not_applicable |
19 |
tool_flow | labtool |
20 |
21 |
22 | user_environment |
23 | cpu_name | Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz |
24 | cpu_speed | 2394 MHz |
25 |
os_name | Microsoft Windows 8 or later , 64-bit |
26 | os_release | major release (build 9200) |
27 |
system_ram | 8.000 GB |
28 | total_processors | 1 |
29 |
30 |
33 |
34 | labtool |
35 |
36 |
37 | usage |
38 | cable= |
39 | pgmcnt=00:00:00 |
40 |
41 | |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/RSA.hw/webtalk/usage_statistics_ext_labtool.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
35 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/RSA.ip_user_files/README.txt:
--------------------------------------------------------------------------------
1 | The files in this directory structure are automatically generated and managed by Vivado. Editing these files is not recommended.
2 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/compile.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | set xv_path=G:\\xilinx_vivado\\Vivado\\2016.2\\bin
3 | echo "xvlog -m64 --relax -prj tb_main_vlog.prj"
4 | call %xv_path%/xvlog -m64 --relax -prj tb_main_vlog.prj -log xvlog.log
5 | call type xvlog.log > compile.log
6 | if "%errorlevel%"=="1" goto END
7 | if "%errorlevel%"=="0" goto SUCCESS
8 | :END
9 | exit 1
10 | :SUCCESS
11 | exit 0
12 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/compile.log:
--------------------------------------------------------------------------------
1 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v" into library xil_defaultlib
2 | INFO: [VRFC 10-311] analyzing module mod
3 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:4]
4 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:5]
5 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:6]
6 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:7]
7 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v" into library xil_defaultlib
8 | INFO: [VRFC 10-311] analyzing module mod_exp
9 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:7]
10 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:8]
11 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:9]
12 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:13]
13 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v" into library xil_defaultlib
14 | INFO: [VRFC 10-311] analyzing module inverter
15 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:9]
16 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:10]
17 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:14]
18 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:15]
19 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v" into library xil_defaultlib
20 | INFO: [VRFC 10-311] analyzing module control
21 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:3]
22 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:8]
23 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:9]
24 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sim_1/new/tb_main.v" into library xil_defaultlib
25 | INFO: [VRFC 10-311] analyzing module tb_main
26 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/glbl.v" into library xil_defaultlib
27 | INFO: [VRFC 10-311] analyzing module glbl
28 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/elaborate.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | set xv_path=G:\\xilinx_vivado\\Vivado\\2016.2\\bin
3 | call %xv_path%/xelab -wto cfd6a0fdc80e41e2bc5f7cabcb165e64 -m64 --debug typical --relax --mt 2 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot tb_main_behav xil_defaultlib.tb_main xil_defaultlib.glbl -log elaborate.log
4 | if "%errorlevel%"=="0" goto SUCCESS
5 | if "%errorlevel%"=="1" goto END
6 | :END
7 | exit 1
8 | :SUCCESS
9 | exit 0
10 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/elaborate.log:
--------------------------------------------------------------------------------
1 | Vivado Simulator 2016.2
2 | Copyright 1986-1999, 2001-2016 Xilinx, Inc. All Rights Reserved.
3 | Running: G:/xilinx_vivado/Vivado/2016.2/bin/unwrapped/win64.o/xelab.exe -wto cfd6a0fdc80e41e2bc5f7cabcb165e64 --debug typical --relax --mt 2 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot tb_main_behav xil_defaultlib.tb_main xil_defaultlib.glbl -log elaborate.log
4 | Using 2 slave threads.
5 | Starting static elaboration
6 | WARNING: [VRFC 10-278] actual bit length 256 differs from formal bit length 512 for port msg_out [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sim_1/new/tb_main.v:10]
7 | Completed static elaboration
8 | Starting simulation data flow analysis
9 | Completed simulation data flow analysis
10 | Time Resolution for simulation is 1ps
11 | Compiling module xil_defaultlib.mod(WIDTH=512)
12 | Compiling module xil_defaultlib.inverter(WIDTH=256)
13 | Compiling module xil_defaultlib.mod_exp(WIDTH=256)
14 | Compiling module xil_defaultlib.control(WIDTH=256)
15 | Compiling module xil_defaultlib.tb_main
16 | Compiling module xil_defaultlib.glbl
17 | Built simulation snapshot tb_main_behav
18 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/glbl.v:
--------------------------------------------------------------------------------
1 | // $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
2 | `ifndef GLBL
3 | `define GLBL
4 | `timescale 1 ps / 1 ps
5 |
6 | module glbl ();
7 |
8 | parameter ROC_WIDTH = 100000;
9 | parameter TOC_WIDTH = 0;
10 |
11 | //-------- STARTUP Globals --------------
12 | wire GSR;
13 | wire GTS;
14 | wire GWE;
15 | wire PRLD;
16 | tri1 p_up_tmp;
17 | tri (weak1, strong0) PLL_LOCKG = p_up_tmp;
18 |
19 | wire PROGB_GLBL;
20 | wire CCLKO_GLBL;
21 | wire FCSBO_GLBL;
22 | wire [3:0] DO_GLBL;
23 | wire [3:0] DI_GLBL;
24 |
25 | reg GSR_int;
26 | reg GTS_int;
27 | reg PRLD_int;
28 |
29 | //-------- JTAG Globals --------------
30 | wire JTAG_TDO_GLBL;
31 | wire JTAG_TCK_GLBL;
32 | wire JTAG_TDI_GLBL;
33 | wire JTAG_TMS_GLBL;
34 | wire JTAG_TRST_GLBL;
35 |
36 | reg JTAG_CAPTURE_GLBL;
37 | reg JTAG_RESET_GLBL;
38 | reg JTAG_SHIFT_GLBL;
39 | reg JTAG_UPDATE_GLBL;
40 | reg JTAG_RUNTEST_GLBL;
41 |
42 | reg JTAG_SEL1_GLBL = 0;
43 | reg JTAG_SEL2_GLBL = 0 ;
44 | reg JTAG_SEL3_GLBL = 0;
45 | reg JTAG_SEL4_GLBL = 0;
46 |
47 | reg JTAG_USER_TDO1_GLBL = 1'bz;
48 | reg JTAG_USER_TDO2_GLBL = 1'bz;
49 | reg JTAG_USER_TDO3_GLBL = 1'bz;
50 | reg JTAG_USER_TDO4_GLBL = 1'bz;
51 |
52 | assign (weak1, weak0) GSR = GSR_int;
53 | assign (weak1, weak0) GTS = GTS_int;
54 | assign (weak1, weak0) PRLD = PRLD_int;
55 |
56 | initial begin
57 | GSR_int = 1'b1;
58 | PRLD_int = 1'b1;
59 | #(ROC_WIDTH)
60 | GSR_int = 1'b0;
61 | PRLD_int = 1'b0;
62 | end
63 |
64 | initial begin
65 | GTS_int = 1'b1;
66 | #(TOC_WIDTH)
67 | GTS_int = 1'b0;
68 | end
69 |
70 | endmodule
71 | `endif
72 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/simulate.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | set xv_path=G:\\xilinx_vivado\\Vivado\\2016.2\\bin
3 | call %xv_path%/xsim tb_main_behav -key {Behavioral:sim_1:Functional:tb_main} -tclbatch tb_main.tcl -log simulate.log
4 | if "%errorlevel%"=="0" goto SUCCESS
5 | if "%errorlevel%"=="1" goto END
6 | :END
7 | exit 1
8 | :SUCCESS
9 | exit 0
10 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/simulate.log:
--------------------------------------------------------------------------------
1 | Vivado Simulator 2016.2
2 | Time resolution is 1 ps
3 | $finish called at time : 3 us : File "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sim_1/new/tb_main.v" Line 22
4 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/tb_main.tcl:
--------------------------------------------------------------------------------
1 | set curr_wave [current_wave_config]
2 | if { [string length $curr_wave] == 0 } {
3 | if { [llength [get_objects]] > 0} {
4 | add_wave /
5 | set_property needs_save false [current_wave_config]
6 | } else {
7 | send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console."
8 | }
9 | }
10 |
11 | run 3000ns
12 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/tb_main_behav.wdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/tb_main_behav.wdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/tb_main_vlog.prj:
--------------------------------------------------------------------------------
1 | # compile verilog/system verilog design source files
2 | verilog xil_defaultlib "../../../RSA.srcs/sources_1/new/mod.v"
3 | verilog xil_defaultlib "../../../RSA.srcs/sources_1/new/mod_exp.v"
4 | verilog xil_defaultlib "../../../RSA.srcs/sources_1/new/inverter.v"
5 | verilog xil_defaultlib "../../../RSA.srcs/sources_1/new/control.v"
6 | verilog xil_defaultlib "../../../RSA.srcs/sim_1/new/tb_main.v"
7 |
8 | # compile glbl module
9 | verilog xil_defaultlib "glbl.v"
10 |
11 | # Do not sort compile order
12 | nosort
13 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/webtalk.jou:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Webtalk v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Fri Jul 08 10:46:28 2016
6 | # Process ID: 7100
7 | # Current directory: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav
8 | # Command line: wbtcv.exe -mode batch -source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
9 | # Log file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/webtalk.log
10 | # Journal file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav\webtalk.jou
11 | #-----------------------------------------------------------
12 | source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
13 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/webtalk.log:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Webtalk v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Fri Jul 08 10:46:28 2016
6 | # Process ID: 7100
7 | # Current directory: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav
8 | # Command line: wbtcv.exe -mode batch -source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
9 | # Log file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/webtalk.log
10 | # Journal file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav\webtalk.jou
11 | #-----------------------------------------------------------
12 | source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
13 | INFO: [Common 17-206] Exiting Webtalk at Fri Jul 08 10:46:28 2016...
14 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/webtalk_4860.backup.jou:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Webtalk v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Fri Jul 08 10:42:56 2016
6 | # Process ID: 4860
7 | # Current directory: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav
8 | # Command line: wbtcv.exe -mode batch -source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
9 | # Log file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/webtalk.log
10 | # Journal file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav\webtalk.jou
11 | #-----------------------------------------------------------
12 | source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
13 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/webtalk_4860.backup.log:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Webtalk v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Fri Jul 08 10:42:56 2016
6 | # Process ID: 4860
7 | # Current directory: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav
8 | # Command line: wbtcv.exe -mode batch -source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
9 | # Log file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/webtalk.log
10 | # Journal file: C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav\webtalk.jou
11 | #-----------------------------------------------------------
12 | source C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/webtalk/xsim_webtalk.tcl -notrace
13 | INFO: [Common 17-206] Exiting Webtalk at Fri Jul 08 10:42:56 2016...
14 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xelab.pb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xelab.pb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/Compile_Options.txt:
--------------------------------------------------------------------------------
1 | -wto "cfd6a0fdc80e41e2bc5f7cabcb165e64" --debug "typical" --relax --mt "2" -L "xil_defaultlib" -L "unisims_ver" -L "unimacro_ver" -L "secureip" --snapshot "tb_main_behav" "xil_defaultlib.tb_main" "xil_defaultlib.glbl" -log "elaborate.log"
2 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/TempBreakPointFile.txt:
--------------------------------------------------------------------------------
1 | Breakpoint File Version 1.0
2 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.dbg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.dbg
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.mem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.mem
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.reloc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.reloc
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.rtti:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.rtti
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.svtype:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.svtype
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.type:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.xdbg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsim.xdbg
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsimcrash.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsimcrash.log
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsimk.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsimk.exe
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/tb_main_behav/xsimkernel.log:
--------------------------------------------------------------------------------
1 | Running: xsim.dir/tb_main_behav/xsimk.exe -simmode gui -wdb tb_main_behav.wdb -simrunnum 0 -socket 61340
2 | Design successfully loaded
3 | Design Loading Memory Usage: 7836 KB (Peak: 7836 KB)
4 | Design Loading CPU Usage: 30 ms
5 | Simulation completed
6 | Simulation Memory Usage: 8500 KB (Peak: 8500 KB)
7 | Simulation CPU Usage: 92 ms
8 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/control.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/control.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/glbl.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/glbl.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/inverter.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/inverter.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/mod.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/mod.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/mod_exp.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/mod_exp.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/tb_main.sdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/tb_main.sdb
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xil_defaultlib/xil_defaultlib.rlx:
--------------------------------------------------------------------------------
1 | 0.4
2 | 2016.2
3 | D:/Dev-Verilog/RSA/RSA.sim/sim_1/behav/glbl.v,1464879896,verilog,,,,,,,,,,,
4 | D:/Dev-Verilog/RSA/RSA.srcs/sim_1/new/tb_main.v,1469538691,verilog,,,,,,,,,,,
5 | D:/Dev-Verilog/RSA/RSA.srcs/sources_1/new/control.v,1467909101,verilog,,,,,,,,,,,
6 | D:/Dev-Verilog/RSA/RSA.srcs/sources_1/new/inverter.v,1467888315,verilog,,,,,,,,,,,
7 | D:/Dev-Verilog/RSA/RSA.srcs/sources_1/new/mod.v,1467284170,verilog,,,,,,,,,,,
8 | D:/Dev-Verilog/RSA/RSA.srcs/sources_1/new/mod_exp.v,1467896964,verilog,,,,,,,,,,,
9 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.dir/xsim.svtype:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xsim.ini:
--------------------------------------------------------------------------------
1 | xil_defaultlib=xsim.dir/xil_defaultlib
2 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xvlog.log:
--------------------------------------------------------------------------------
1 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v" into library xil_defaultlib
2 | INFO: [VRFC 10-311] analyzing module mod
3 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:4]
4 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:5]
5 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:6]
6 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod.v:7]
7 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v" into library xil_defaultlib
8 | INFO: [VRFC 10-311] analyzing module mod_exp
9 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:7]
10 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:8]
11 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:9]
12 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/mod_exp.v:13]
13 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v" into library xil_defaultlib
14 | INFO: [VRFC 10-311] analyzing module inverter
15 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:9]
16 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:10]
17 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:14]
18 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/inverter.v:15]
19 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v" into library xil_defaultlib
20 | INFO: [VRFC 10-311] analyzing module control
21 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:3]
22 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:8]
23 | WARNING: [VRFC 10-756] identifier WIDTH is used before its declaration [C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sources_1/new/control.v:9]
24 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.srcs/sim_1/new/tb_main.v" into library xil_defaultlib
25 | INFO: [VRFC 10-311] analyzing module tb_main
26 | INFO: [VRFC 10-2263] Analyzing Verilog file "C:/Users/rajandeep/Desktop/RSA/RSA.sim/sim_1/behav/glbl.v" into library xil_defaultlib
27 | INFO: [VRFC 10-311] analyzing module glbl
28 |
--------------------------------------------------------------------------------
/RSA.sim/sim_1/behav/xvlog.pb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rajandeep/RSA-CRYPTOSYSTEM-using-verilog/023ff53d053ac1182f7ea311d88b114ac96a3fc6/RSA.sim/sim_1/behav/xvlog.pb
--------------------------------------------------------------------------------
/RSA.srcs/sim_1/new/mod_tb.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | module mod_tb;
3 | parameter WIDTH = 64;
4 | reg [WIDTH-1:0] a,n;
5 | wire [WIDTH-1:0] r,q;
6 | mod m1(a,n,r,q);
7 | defparam m1.WIDTH = WIDTH;
8 |
9 | initial begin
10 | a = 12345;
11 | n = 23;
12 | end
13 |
14 | endmodule
15 |
--------------------------------------------------------------------------------
/RSA.srcs/sim_1/new/tb_inverter.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | `define WIDTH 32
3 | module tb_inverter;
4 | reg [`WIDTH-1:0] p;
5 | reg [`WIDTH-1:0] q;
6 | reg clk;
7 | reg reset;
8 | wire finish;
9 | wire [`WIDTH-1:0] e;
10 | wire [`WIDTH*2-1:0] d;
11 |
12 | inverter uut(p,q,clk,reset,finish,e,d);
13 |
14 | initial begin
15 | p = 32'd23;
16 | q = 32'd5;
17 | clk = 0;
18 | reset = 0;
19 | #10 reset = 1;
20 | #10 reset = 0;
21 | end
22 |
23 | always #5 clk = ~clk;
24 | endmodule
25 |
--------------------------------------------------------------------------------
/RSA.srcs/sim_1/new/tb_main.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | `define WIDTH 256
3 | module tb_main;
4 | reg [`WIDTH-1:0] p,q;
5 | reg clk,reset,reset1,encrypt_decrypt;
6 | reg [`WIDTH-1:0] msg_in;
7 | wire [`WIDTH-1:0] msg_out;
8 | wire mod_exp_finish;
9 |
10 | control uut(p,q,clk,reset,reset1,encrypt_decrypt,msg_in,msg_out,mod_exp_finish);
11 | defparam uut.WIDTH = `WIDTH;
12 |
13 | initial begin
14 | p = 128'd113680897410347;
15 | q = 128'd7999808077935876437321;
16 | clk = 0;
17 | reset =0; reset1=0;
18 | encrypt_decrypt = 0;
19 | msg_in = 256'h0000000000000000000000000000000000262d806a3e18f03ab37b2857e7e149;
20 | #10 reset = 1;
21 | #10 reset = 0;
22 | #2980 $finish;
23 | end
24 |
25 | initial begin
26 | #1000 reset1 = 1;
27 | #10 reset1 = 0;
28 | end
29 |
30 | always #5 clk = ~clk;
31 |
32 | endmodule
33 |
--------------------------------------------------------------------------------
/RSA.srcs/sim_1/new/tb_mod_exp.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | `define WIDTH 32
3 | module tb_mod_exp;
4 |
5 | reg [`WIDTH*2-1:0] base;
6 | reg [`WIDTH*2-1:0] modulo;
7 | reg [`WIDTH*2-1:0] exponent;
8 | reg clk;
9 | reg reset;
10 | wire finish;
11 | wire [`WIDTH*2-1:0] result;
12 |
13 | mod_exp uut(base,modulo,exponent,clk,reset,finish,result);
14 | defparam uut.WIDTH = `WIDTH;
15 |
16 | initial begin
17 | base = 5;
18 | modulo = 13;
19 | exponent = 567;
20 | clk = 0;
21 | reset = 0;
22 | #10 reset = 1;
23 | #10 reset = 0;
24 | end
25 |
26 | always #5 clk = ~clk;
27 | endmodule
28 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/control.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | module control(
3 | input [WIDTH-1:0] p,q, //Input Random Primes
4 | input clk,//system wide clock
5 | input reset,//resets inverter module
6 | input reset1,//resets modular exponentiation module
7 | input encrypt_decrypt,//1 for encryption and 0 for decryption
8 | input [WIDTH-1:0] msg_in,//input either message or cipher
9 | output [WIDTH*2-1:0] msg_out,//output either decrypted message or cipher
10 | output mod_exp_finish//finish signal indicator of mod exp module
11 | );
12 |
13 | parameter WIDTH = 32;//defines size of input ports
14 |
15 | wire inverter_finish;
16 | wire [WIDTH*2-1:0] e,d;
17 | wire [WIDTH*2-1:0] exponent = encrypt_decrypt?e:d;
18 | wire [WIDTH*2-1:0] modulo = p*q;
19 | wire mod_exp_reset = 1'b0;
20 |
21 | reg [WIDTH*2-1:0] exp_reg,msg_reg;
22 | reg [WIDTH*2-1:0] mod_reg;
23 |
24 | always @(posedge clk)begin
25 | exp_reg <= exponent;
26 | mod_reg <= modulo;
27 | msg_reg <= msg_in;
28 | end
29 |
30 | inverter i(p,q,clk,reset,inverter_finish,e,d);
31 | defparam i.WIDTH = WIDTH;
32 | mod_exp m(msg_reg,mod_reg,exp_reg,clk,reset1,mod_exp_finish,msg_out);
33 | defparam m.WIDTH = WIDTH;
34 |
35 | endmodule
36 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/dff.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | //Positive edge triggered D Flip Flop with asynch reset and a 2:1 mux
3 | module dff(
4 | input D, //Input
5 | input rst, //Active High Reset
6 | input clk, //Clock
7 | output reg q //Output
8 | );
9 |
10 | always @(posedge clk or posedge rst) begin
11 | if(rst) q<=0;
12 | else q<=D;
13 | end
14 |
15 | endmodule
16 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/divider.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns/1ps
2 | module divider(Z, R, done, X, Y, start, clk);
3 | output [7:0] Z;
4 | output [15:0] R;
5 | output done;
6 | input [15:0] X;
7 | input [7:0] Y;
8 | input start;
9 | input clk;
10 | reg [7:0] Q;
11 | reg [15:0] R;
12 | reg [15:0] y;
13 | reg [15:0] x;
14 | reg [5:0] cnt;
15 | reg done;
16 | reg last;
17 | initial $monitor("x = %d R = %d",x,R);
18 |
19 | always @(posedge clk) begin
20 | done <= 0;
21 | last <= 0;
22 | if (start)
23 | cnt <= 0;
24 | else
25 | cnt <= cnt + 1;
26 | if (cnt == 6'd14)
27 | last <= 1;
28 | else if (cnt == 6'd15)
29 | done <= 1;
30 | end
31 |
32 | always @(posedge clk)
33 | if (start) begin
34 | x = X;
35 | R = 0;
36 | end
37 | else if (~last && (R < Y)) begin
38 | R = {R[14:0],x[15]};
39 | x[15:1] = x[14:0];
40 | R = R + Y;
41 | x[0] = 1'b0;
42 | end
43 | else if (~last && (R > Y)) begin
44 | R = {R[14:0],x[15]};
45 | x[15:1] = x[14:0];
46 | R = R - Y;
47 | x[0] = 1'b1;
48 | end
49 |
50 | assign Z = x;
51 | endmodule
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/inverter.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | `define UPDATING 3'd1
3 | `define CHECK 3'd2
4 | `define HOLDING 3'd3
5 | /*to calculate decryption key 'd' and encryption key 'e' we use extended euclidian algorithm
6 | i.e d * e = 1 mod (phi)
7 | */
8 | module inverter(
9 | input [WIDTH-1:0] p,//prime number 1
10 | input [WIDTH-1:0] q,//prime nu,ber 2
11 | input clk,//system clock
12 | input reset,//resets module
13 | output finish,//indicates finish for operation
14 | output [WIDTH*2-1:0] e,//encryption key
15 | output [WIDTH*2-1:0] d//decryption key
16 | );
17 |
18 | parameter WIDTH = 32;
19 |
20 | reg [WIDTH*2-1:0] totient_reg,a,b,y,y_prev;//totient here represents phi
21 | reg [2:0] state;
22 | reg [WIDTH-1:0] e_reg;
23 |
24 | wire [WIDTH*2-1:0] totient = (p-1)*(q-1);
25 | wire [WIDTH*2-1:0] quotient,b_next;
26 | wire [WIDTH*2-1:0] y_next = y_prev - quotient * y;
27 | wire [WIDTH-1:0] e_plus3 = e_reg + 2;
28 | assign finish = (state == `HOLDING) ? 1'b1 : 1'b0;
29 | assign e = e_reg;
30 | assign d = y_prev;
31 |
32 | mod x_mod_y(a,b,b_next,quotient);//divider module
33 | defparam x_mod_y.WIDTH = WIDTH*2;
34 |
35 | always @(posedge clk) begin
36 | if(reset) begin
37 | totient_reg <= totient;
38 | a <= totient;
39 | b <= 3;
40 | e_reg <=3;
41 | y <= 1;
42 | y_prev <= 0;
43 | state = `UPDATING;
44 | end
45 | case(state)
46 | `UPDATING: begin
47 | if(b != 64'd0) begin
48 | a <= b;
49 | b <= b_next;
50 | y <= y_next;
51 | y_prev <= y;
52 | state <= `UPDATING;
53 | end
54 | else state <= `CHECK;
55 | end
56 | `CHECK: begin
57 | if(a == 64'd1 && y_prev[WIDTH*2-1] == 1'b0)
58 | state = `HOLDING;
59 | else begin
60 | a <= totient_reg;
61 | b <= e_plus3;
62 | e_reg <= e_plus3;
63 | y <= 1;
64 | y_prev = 0;
65 | state <= `UPDATING;
66 | end
67 | end
68 | `HOLDING: begin
69 | end
70 | endcase
71 | end
72 |
73 | endmodule
74 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/mod.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 |
3 | module mod(
4 | input [WIDTH-1:0] a,
5 | input [WIDTH-1:0] n,
6 | output [WIDTH-1:0] R,
7 | output [WIDTH-1:0] Q
8 | );
9 | parameter WIDTH = 19;
10 | reg [WIDTH-1:0] A,N;
11 | reg [WIDTH:0] p;
12 | integer i;
13 |
14 | always@ (a or n) begin
15 | A = a;
16 | N = n;
17 | p = 0;
18 | for(i=0;i < WIDTH;i=i+1) begin
19 | p = {p[WIDTH-2:0],A[WIDTH-1]};
20 | A[WIDTH-1:1] = A[WIDTH-2:0];
21 | p = p-N;
22 | if(p[WIDTH-1] == 1)begin
23 | A[0] = 1'b0;
24 | p = p + N;
25 | end
26 | else
27 | A[0] =1'b1;
28 | end
29 |
30 | end
31 |
32 | assign R = p,Q = A;
33 | endmodule
34 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/mod_exp.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | `define UPDATE 2'd1
3 | `define HOLD 2'd2
4 | /* to calculate *** a^b mod n *** we use right to left binary exponentiation (by .BRUCE SCHIENER)
5 | */
6 | module mod_exp(
7 | input [WIDTH*2-1:0] base,//base here represents (a)
8 | input [WIDTH*2-1:0] modulo,//modulo here is modulus (n)
9 | input [WIDTH*2-1:0] exponent,//exponent here is the power of base (b)
10 | input clk,//system clk
11 | input reset,//resets module
12 | output finish,//sends finish signal on completion
13 | output [WIDTH*2-1:0] result
14 | );
15 |
16 | parameter WIDTH = 32;
17 |
18 | reg [WIDTH*2-1:0] base_reg,modulo_reg,exponent_reg,result_reg;
19 | reg [1:0] state;
20 |
21 | wire [WIDTH*2-1:0] result_mul_base = result_reg * base_reg;
22 | wire [WIDTH*2-1:0] result_next;
23 | wire [WIDTH*2-1:0] base_squared = base_reg * base_reg;
24 | wire [WIDTH*2-1:0] base_next;
25 | wire [WIDTH*2-1:0] exponent_next = exponent_reg >> 1;
26 |
27 | assign finish = (state == `HOLD) ? 1'b1:1'b0;
28 | assign result = result_reg;
29 |
30 | mod base_squared_mod(base_squared,modulo_reg,base_next,); // implementation of
31 | defparam base_squared_mod.WIDTH = WIDTH*2; // right to left
32 | // binary exponentiation
33 | mod result_mul_base_mod (result_mul_base,modulo_reg,result_next,); // by.
34 | defparam result_mul_base_mod.WIDTH = WIDTH*2; // BRUCE SCHIEMER
35 |
36 |
37 | always @(posedge clk) begin
38 | if(reset) begin //initialisation of values
39 | base_reg <= base;
40 | modulo_reg <= modulo;
41 | exponent_reg <= exponent;
42 | result_reg <= 32'd1;
43 | state <= `UPDATE;
44 | end
45 | else case(state)
46 | `UPDATE: begin
47 | if (exponent_reg != 64'd0) begin
48 | if (exponent_reg[0])
49 | result_reg <= result_next;
50 | base_reg <= base_next;
51 | exponent_reg <= exponent_next;
52 | state <= `UPDATE;
53 | end
54 | else state <= `HOLD;
55 | end
56 |
57 | `HOLD: begin
58 | end
59 | endcase
60 | end
61 | endmodule
62 |
--------------------------------------------------------------------------------
/RSA.srcs/sources_1/new/mux.v:
--------------------------------------------------------------------------------
1 | `timescale 1ns / 1ps
2 | //2:1 mux
3 | module mux(
4 | output reg out, //Output
5 | input sel, //Input 1
6 | input a, //Input 2
7 | input b //Select Line
8 | );
9 |
10 | wire not_sel;
11 | always @(sel or not_sel)
12 | out = (sel&a)|(not_sel&b);
13 |
14 | assign not_sel = ~sel;
15 |
16 | endmodule
17 |
--------------------------------------------------------------------------------
/RSA.xpr:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
--------------------------------------------------------------------------------
/archive_project_summary.txt:
--------------------------------------------------------------------------------
1 | ***************************************************************************************
2 | * PROJECT ARCHIVE SUMMARY REPORT
3 | *
4 | * (archive_project_summary.txt)
5 | *
6 | * PLEASE READ THIS REPORT TO GET THE DETAILED INFORMATION ABOUT THE PROJECT DATA THAT
7 | * WAS ARCHIVED FOR THE CURRENT PROJECT
8 | *
9 | * The report is divided into following five sections:-
10 | *
11 | * Section (1) - PROJECT INFORMATION
12 | * This section provides the details of the current project that was archived
13 | *
14 | * Section (2) - INCLUDED/EXCLUDED RUNS
15 | * This section summarizes the list of design runs for which the results were included
16 | * or excluded from the archive
17 | *
18 | * Section (3) - ARCHIVED SOURCES
19 | * This section summarizes the list of files that were added to the archive
20 | *
21 | * Section (3.1) - INCLUDE FILES
22 | * This section summarizes the list of 'include' files that were added to the archive
23 | *
24 | * Section (3.1.1) - INCLUDE_DIRS SETTINGS
25 | * This section summarizes the 'verilog include directory' path settings, if any
26 | *
27 | * Section (3.2) - REMOTE SOURCES
28 | * This section summarizes the list of referenced 'remote' files that were 'imported'
29 | * into the archived project
30 | *
31 | * Section (3.3) - SOURCES SUMMARY
32 | * This section summarizes the list of all the files present in the archive
33 | *
34 | * Section (3.4) - REMOTE IP DEFINITIONS
35 | * This section summarizes the list of all the remote IP's present in the archive
36 | *
37 | * Section (4) - JOURNAL/LOG FILES
38 | * This section summarizes the list of journal/log files that were added to the archive
39 | *
40 | ***************************************************************************************
41 |
42 | Section (1) - PROJECT INFORMATION
43 | ---------------------------------
44 | Name = RSA
45 | Directory = G:/study/verilog/RSA/RSAfinal
46 |
47 | WARNING: Please verify the compiled library directory path for the following property in the
48 | current project. The path may point to an invalid location after opening this project.
49 | This could happen if the project was unarchived in a location where this path is not
50 | accessible. To resolve this issue, please set this property with the desired path
51 | before launching simulation:-
52 |
53 | Property = compxlib.xsim_compiled_library_dir
54 | Path =
55 |
56 | Section (2) - INCLUDED RUNS
57 | ---------------------------
58 | The run results were included for the following runs in the archived project:-
59 |
60 |
61 |
62 |
63 | Section (3) - ARCHIVED SOURCES
64 | ------------------------------
65 | The following sub-sections describes the list of sources that were archived for the current project:-
66 |
67 | Section (3.1) - INCLUDE FILES
68 | -----------------------------
69 | List of referenced 'RTL Include' files that were 'imported' into the archived project:-
70 |
71 | None
72 |
73 | Section (3.1.1) - INCLUDE_DIRS SETTINGS
74 | ---------------------------------------
75 | List of the "INCLUDE_DIRS" fileset property settings that may or may not be applicable in the archived
76 | project, since most the 'RTL Include' files referenced in the original project were 'imported' into the
77 | archived project.
78 |
79 | fileset RTL include directory paths (INCLUDE_DIRS):-
80 | None
81 |
82 | fileset RTL include directory paths (INCLUDE_DIRS):-
83 | None
84 |
85 | Section (3.2) - REMOTE SOURCES
86 | ------------------------------
87 | List of referenced 'remote' design files that were 'imported' into the archived project:-
88 |
89 |
90 | None
91 |
92 |
93 | None
94 |
95 |
96 | None
97 |
98 | Section (3.3) - SOURCES SUMMARY
99 | -------------------------------
100 | List of all the source files present in the archived project:-
101 |
102 |
103 | ./RSA.srcs/sources_1/new/mod.v
104 | ./RSA.srcs/sources_1/new/mod_exp.v
105 | ./RSA.srcs/sources_1/new/inverter.v
106 | ./RSA.srcs/sources_1/new/control.v
107 |
108 |
109 | None
110 |
111 |
112 | ./RSA.srcs/sim_1/new/tb_main.v
113 |
114 | Section (3.4) - REMOTE IP DEFINITIONS
115 | -------------------------------------
116 | List of all the remote IP's present in the archived project:-
117 |
118 |
119 | None
120 |
121 | Section (4) - JOURNAL/LOG FILES
122 | -------------------------------
123 | List of Journal/Log files that were added to the archived project:-
124 |
125 | Source File = G:/study/verilog/RSA/RSAfinal/vivado.jou
126 | Archived Location = ./RSA/vivado.jou
127 |
128 | Source File = G:/study/verilog/RSA/RSAfinal/vivado.log
129 | Archived Location = ./RSA/vivado.log
130 |
131 |
--------------------------------------------------------------------------------
/vivado.jou:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Vivado v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Sun Jul 17 20:45:22 2016
6 | # Process ID: 3424
7 | # Current directory: G:/study/verilog/RSA/RSAfinal
8 | # Command line: vivado.exe -gui_launcher_event rodinguilauncherevent6428 G:\study\verilog\RSA\RSAfinal\RSA.xpr
9 | # Log file: G:/study/verilog/RSA/RSAfinal/vivado.log
10 | # Journal file: G:/study/verilog/RSA/RSAfinal\vivado.jou
11 | #-----------------------------------------------------------
12 | start_gui
13 | open_project G:/study/verilog/RSA/RSAfinal/RSA.xpr
14 | update_compile_order -fileset sources_1
15 | archive_project C:/Users/rajandeep/Desktop/rsa/RSA.xpr.zip -temp_dir G:/study/verilog/RSA/RSAfinal/.Xil/Vivado-2804-dell -force
16 |
--------------------------------------------------------------------------------
/vivado.log:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------
2 | # Vivado v2016.2 (64-bit)
3 | # SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
4 | # IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
5 | # Start of session at: Sun Jul 17 20:45:22 2016
6 | # Process ID: 3424
7 | # Current directory: G:/study/verilog/RSA/RSAfinal
8 | # Command line: vivado.exe -gui_launcher_event rodinguilauncherevent6428 G:\study\verilog\RSA\RSAfinal\RSA.xpr
9 | # Log file: G:/study/verilog/RSA/RSAfinal/vivado.log
10 | # Journal file: G:/study/verilog/RSA/RSAfinal\vivado.jou
11 | #-----------------------------------------------------------
12 | start_gui
13 | open_project G:/study/verilog/RSA/RSAfinal/RSA.xpr
14 | INFO: [Project 1-313] Project file moved from 'C:/Users/rajandeep****** Webtalk v2016.2 (64-bit)
15 | **** SW Build 1577090 on Thu Jun 2 16:32:40 MDT 2016
16 | **** IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016
17 | ** Copyright 1986-2016 Xilinx, Inc. AINFO: [IP_Flow 19-2313] Loaded Vivado IP repository 'G:/xilinx_vivado/Vivado/2016.2/data/ip'.
18 | open_project: Time (s): cpu = 00:00:14 ; elapsed = 00:00:38 . Memory (MB): peak = 714.793 ; gain = 151.609
19 | update_compile_order exit
20 | INFO: [Common archive_project C:/Users/rajandeep/Desktop/rsa/RSA.xpr.zip -temp_dir G:/study/verilog/RSA/RSAfinal/.Xil/Vivado-2804-dell -force
21 | INFO: [Coretcl 2-137] starting archive...
22 | INFO: [Coretcl 2-1499] Saving project copy to temporary location 'G:/study/verilog/RSA/RSAfinal/.Xil/Vivado-2804-dell' for archiving project
23 | Scanning sources...
24 | Finished scanning sources
25 | INFO: [Coretcl 2-1211] Creating project copy for archival...
26 | INFO: [Coretcl 2-1213] Including run results for 'synth_1'
27 | INFO: [Coretcl 2-1213] Including run results for 'impl_1'
28 |
--------------------------------------------------------------------------------