This week we were introduced to the program, selected our project/research and created our website for the project
We went over the basic mathematics behind cryptography, which included modular arithmetic, finite fields, irreducible polynomials and algorithms concerning the greatest common divisor and primes/coprimes. We briefly touched stream ciphers and looked more in depth at block ciphers (specifically DES and AES). We also looked into Elliptic Curve Cryptography, which could be used in our research.
Explored the use of digital signature schemes such as RSA and DSA. Additionally, the use of hash functions and authentication from MACs were investigated. We conducted basic study of IP networking and how it compares to ICN. Lastly, we gained a solid foundation of ICN by addressing its challenges and opportunities.
We read through a paper about the use of ECC in access control of ICN, their protocol was named ECAC. Although the paper wasn't of the highest quality, we believe we can use some of the ideas they proposed in their protocol as a basis. Their protocol seems a bit redundant with using two sets of public and private keys. We also need to consider more about how we would like to use hashing if at all. For the ndnSIM tool we're going to use, we had some errors with getting the visualizer to run and we're still looking for solutions.
This week we read two more papers, one over secured sensing in named data networking and one over lightweight hash chaining. The first paper covered the basics of ICN and proposed a centralized architecture for use in Building Automation Systems. This can be useful for further structuring how we would like to approach ICN. We also looked at a paper detailing more lightweight cryptography just as reference to broaden our horizons. A rough network scenario was also developed and drawn up centered around healthcare.
We've been reading more papers while also starting to look more in depth into ndnSIM libraries and how we might implement security and generate topologies. We managed to fix the visualizer problem by just reverting back a commit in the ndnSIM code. We adapted the network scenario into a topology for ndnSIM that simulates communication between two healtchare buildings using a cloud server in between. We then also started identifying what metrics we were looking for and what variables we wanted to change/modify.
This week we had a lot of struggles trying to implement security within ndnSIM and being able to measure any time changes due to it. We tried to implement the provided AES block cipher algorithm, but we couldn't tell if it was working or not as time did not change during runtime. We're looking to perhaps try and pull other ndn libraries that use encryption into ndnSIM and use them, such as the one used for reference for the block cipher. Powerpoint is merged with next week's due to holiday.
Implementing libraries would use too much time that we don't have, so we turned away from that. Unfortunately, ndnSIM isn't actually able to measure the time it takes for any encryption to occur due to how it was set up, which was realizedafter emailing one of the main leads on ndnSIM. So we ended up being unsure if the encryption was working or if it was working and the time just wasn't able to measured. We're going to look at how signatures work in ndnSIM as a last hope for encryption within ndnSIM then attempt to measure encryption using OpenSSL. We also developed the topologies we want to use for simulations and the variable values to use.
No more powerpoints. The signatures were a dead end and OpenSSL isn't cooperating very well during build with its static library, so we can only run baseline simulations without encryption due to time constraints. We started and finished the poster for use at the MidSURE presentation this week. Simulations were finished for network latency and are in progress for cache performance and throughput. Wrote a Python script to help parse the data from the AppDelayTracer. Work on the paper was also started near the end of the week.
MidSURE went fairly well, the presentation was received nicely. Cache performance data was parsed by hand and graphs made. Another Python script was made to help parse data from the L3RateTracer for throughput. The paper was then finished up this week along with all deliverables and turned in Friday.