Secure communications without key exchange? 2013 weekly progress

From Derek
Jump to: navigation, search

Weekly progress and questions

This is where you record your progress and ask questions. Make sure you update this every week. The deadline is every Friday evening. However, if you sometimes slip a little into the weekend (so long as you don't do it too often) we won't be too hard on your marks.

Please remember that we make use of this progress section to give you your project mark. Your mark will suffer if you don't complete this section.

Briefly record (i) progress, (ii) problems/questions, (iii) goals for following week.

Semester 1 Week 1

Michael

  1. Week 1 progress:
    • Read & discussed the project with Aleks.
    • Attended the literature training session with Kay Leverette, and began searching for journal articles related to our topic.
  1. Goals for Week 2:
    • Organise initial meeting with Derek & James

Aleks

  1. Week 1 progress:
    • Done initial research on the project including viewing 4D projections
    • Attended the literature training session with Kay Leverette
  1. Goals for Week 2:
    • Continue any research and readings on project and meet with Derek and James


Semester 1 Week 2

Michael

  1. Week 2 progress:
    • Met with Derek and James and discussed the style of this project.
      • We are required to keep individual, weekly reports of our work.
      • We were introduced to the double padlock problem and the one-time pad (with binary XOR operations) as a theoretically secure encryption process.
      • It was briefly explained that despite encryptions with 2D rotations commuting, they were crackable.
  1. Goals for Week 3:
    • Become familiar with the one-time pad and rotations in 2D.
    • Read through the paper - The double-padlock problem: is secure classical information transmission possible without key exchange?

Aleks

  1. Week 2 progress:
    • Had initial meeting with Derek and James where we discussed the nature of the project and the expecatations on us as the students
    • Also discussed some basic theory behind the project (XOR operations, 2D rotations) and was given small homework tasks regarding each of these
    • Discussed that our approach in the project will be mainly using Geometric Algebra
  1. Goals for Week 3:
    • Complete the homework given to us on 2D rotations and XOR operations, to develop a better understanding of the project
    • Read through the paper - The double-padlock problem: is secure classical information transmission possible without key exchange?
    • Attend Geometric Algebra teaching session by James

Semester 1 Week 3

Michael

  1. Week 3 progress:
    • Introductory session to GA/Clifford Algebra & EVAlgebra (Clifford algebra calculator).
      • Learnt how elements e1,e2,e3 don't commute, i.e. e1e2=-e2e1
    • We began preparing for our proposal seminar. I focused on the OTP's use/history, 2D rotations and the project/risk management componenet of the project.
      • Sent James & Derek our draft presentation slides.
      • They suggested we use a GIF animation to show rotations in 4D.
      • Mention that rotations is one of the key strengths of GA.
      • Could also include a list of research areas in GA - such as black holes & cosmology, quantum mechanics, beam dynamics & computer vision/games.
  1. Goals for Week 4:
    • Complete & deliver proposal seminar (inc. powerpoint slides)
    • Confirm with Derek/James, that with 2D rotations, the encryption key is the angle theta and the message is the vector itself.

Aleks

  1. Week 3 progress:
    • Had meeting with James where he taught us some of the basics about Geometric algebra and how we will utilise it in our project
      • Given a basic Geometric Algebra homework sheet to complete
    • Began preparing for the proposal seminar, including sending a copy of our draft slides into Derek and James for feedback and having several practice sessons with Michael
  1. Goals for Week 4:
    • Continue to send updated drafts to Derek and James for feedback, and complete and deliver the proposal
    • Complete the Geometric Algebra homework sheet which James gave us at the meeting

Semester 1 Week 4

Michael

  1. Week 4 progress:
    • Got the final draft for the seminar approved by Derek/James with some feedback-
      • Put images on every slide, use footnotes where necessary and keep the presentation as fun as possible.
      • Use pascals triangle when discussing the degrees of freedom.
      • Could also mention that GA & bivectors avoids Gimbal Lock http://en.wikipedia.org/wiki/Gimbal_Lock
    • Finished proposal slides & delivered proposal seminar.
  1. Goals for Week 5:
    • Meet with James for another tutorial on GA

Aleks

  1. Week 4 progress:
    • Successfully delivered the proposal seminar
  1. Goals for Week 5:
    • Attend the second Geometric Algebra meeting with James


Semester 1 Week 5

Michael

  1. Week 5 progress:
    • Continued to learn about GA and specifically how to perform rotations in N-dimensions
    • Each did the worksheet supplied by James
  1. Goals for Week 6:
    • Work on the JAVA implementation of GA and continue to review James' ruby GA code

Aleks

  1. Week 5 progress:
    • Attended the second Geometric Algebra training session with James where he began to show us how GA can be used to perform rotations in N-dimensions using the bilinear transformation
    • Began to work on a Java implementation of GA which would allow us to perform simulations
  1. Goals for Week 6:
    • Make significant progress on Java implementation
    • Analytically prove that 3D rotations do not commute, using GA

Semester 1 Week 6

Michael

  1. Week 6 progress:
    • Downloaded the GABLE GA plugin for Matlab http://www.cgl.uwaterloo.ca/~smann/GABLE/ and we each did the tutorial. This proved useful for visualising the planes through rotations. The outer product of two objects yields a higher dimensional object only if the two objects are linearly independent. Therefore the outer product of e1^e1 is zero.
    • We also individually proved that 3D rotations aren’t commutable (despite already knowing, an analytical proof was required for the project and our overall understanding).
  1. Goals for Week 7:
    • Hopefully get a working GA implementation in C++ for 3D

Aleks

  1. Week 6 progress:
    • Analytically proved that 3D rotations do not commute
    • Experimented with GA plugin for MATLAB called GABLE, and its viability for use in the project
    • Continued on an implementation for Geometric Algebra in Java, however due to discussions with James about our past experience, the suitability of different langauges, and the availability of some useful source code in C++, programming started again in C++
  1. Goals for Mid-Semester 1 Break:
    • Finalise a working GA implementation in C++ for THREE dimensions

Mid-Semester 1 Break

Michael

  1. Mid-Semester 1 Break progress:
    • Formally wrote out the proofs for 3D & briefly looked into the possibility of developing animations for GA
  1. Goals for Week 7:
    • Help Alek extend the C++ program to 4D - identify the basics and then continue discussions with James

Aleks

  1. Mid-Semester 1 Break progress:
    • Implemented Geometric Algebra C++ program which can perform 3 Dimensional operations: Addition, subtraction, multiplication, inversion
  1. Goals for Week 7:
    • Finalise the Geometric Algebra program
    • Perhaps begin to extend the 3D program into 4D to include doing rotations
    • Look into doing anything to create visualisations of the programs output

Semester 1 Week 7

Michael

  1. Week 7 progress:
    • Review James paper on 3D space to get a better grasp of how to tackle the animations/visualisations
    • More efforts were made with the C++ program and it was agreed that if we could get it working it would be difficult and time consuing.
  1. Goals for Week 8:
    • Despite not having access to wiki as of yet, start planning and summarising the work to date

Aleks

  1. Week 7 progress:
    • Added the functionality for the geometric algebra program to do rotations, as well as the other existing operators
    • Begun looking at a possible method output display using the method described on this site
  1. Goals for Week 8:
    • Start to make progress into producing some plots as our programs outpput
    • It will be a difficult task which will need to be taken slowly

Semester 1 Week 8

Michael

  1. Week 8 progress:

http://en.wikipedia.org/wiki/Plane_of_rotation - for 4D rotations

    • Lachlan outlined a flaw with our current approach using Information Theory and this applies to any dimension
    • Met with Derek, James & Lachlan
  1. Goals for Week 9:
    • Look into Lachlans claims against our approach and work on GA program

Aleks

  1. Week 8 progress:
    • A possible hole in our original approach was explained to us by Lachlan Gunn
    • Using our original approach - since the eavesdropper is able to have complete and unimpeded access to all the information transmitted, this means that our encryption will not work
    • This proof is done using information and set theory, and apparantly applies to any dimension
    • Continued working on adding image capability to our geometric algebra program
  1. Goals for Week 9:
    • Begin to explore and understanding the claims Lachlan put forth
    • Again continue to work on adding image capability

Semester 1 Week 9

Michael

  1. Week 9 progress:
    • It was a busy week for both Aleks and I, and as such minimal progress was made and no formal meeting with supervisors, however we met up to discuss our progress and how it compares with our original expectations for semester 1. We also discussed the RTT scheme with Lachlan, which utlises the mutual information between Alice & Bob and the noise in the network to generate a key
  1. Goals for Week 10:
    • Any progress possible in preparing for the wiki, GA program, or study in RTT

Aleks

  1. Week 9 progress:
    • Had several non Honours due dates, so the progress this week was minimal
    • Had a meeting where we discussed the possibility of using a round trip time encryption scheme
    • This allows us to share some mutual information between the sender/recipient
  1. Goals for Week 10:
    • Make any progress if possible, however this week will be extremely busy

Semester 1 Week 10

Michael

  1. Week 10 progress:
    • I was unfortunately sick this week and as such failed to complete any noteworthy work or meet up with the supervisors.
  1. Goals for Week 11:
    • Start work on semester A progress report and work through Lachlans RTT encryption system to become familiar

Aleks

  1. Week 10 progress:
    • Lachlan provided us with some initial source code and results for the round trip time method
    • Studied a paper which Lachlan gave us
    • Begun thinking about the Semester A progres report
  1. Goals for Week 11:
    • Make significant progress on the semester A progress report
    • Study the more detailed operation of the round trip time encryption scheme

Semester 1 Week 11

Michael

  1. Week 11 progress:
  1. Goals for Week 12:
    • Finish the Semester A Progress Report (including all references, pdf links etc.)
    • With exams coming up, progress is expected to slow right down over the next month.

Aleks

  1. Week 11 progress:
  1. Goals for Week 12:
    • The exam period is coming up, and the project will be put on slightly lower priority until the mid semester break

Semester 1 Week 12

Michael

  1. Week 12 progress:
    • Started working on CLUViz and gaining familiarity with the language.
    • Also- Lachlan made some suggestions regarding the testing of RTT down the track. Setting up a embedded PC as a router and log the data, or for a more surreptitious eavesdropper.. wifi sniffing, which would require a wifi adaptor that can capture raw packets (not all can, and the software support is limited on windows)
  1. Goals for Mid-Year Break:
    • Get a 3D prototype working properly and ideally have some support diagrams to help demonstrate what's actually happening.

Aleks

  1. Week 12 progress:
    • Begun helping Michael do a bit of work on CluViz - as I have almost abandoned the hope of implementing the original visual system
    • Started to continue working on 4D geometric algebra again
    • Lachlan provided us with an initial timing based key generation protocol program - the program was initially rather rough, we need to make some changes to it


  1. Goals for Mid-Year Break:
    • Do some initial tests on the timing based key generation protocol - under what circumstances does it work and what do we need to fix
    • Attempt to make significant progress or even finish the 4D geometric algebra implementation
    • Assist Michael with the CluViz where necessary

Mid-Year Break

Michael

  1. Mid-Year Break progress:
  1. Goals for Week 1, Semester 2:
    • Keep working on 3D & 4D CLUViz, and aim to have it finished ASAP.
    • Try to get better mouse control in simulation to improve user friendliness. Looked at MouseControl.clu

Aleks

  1. Mid-Year Break progress:
    • Did some tests on the timing based protocol on my LAN network - got the server and client up and running and managed to generate a bit stream
    • Did some simply post analysis on the bit streams generated it shows that the bit streams were able to stay extremely synchronised
    • Started to make some headway into the 4D implementation of geometric algebra with the help of James' code - however this was not finished yet
    • Waiting on James' 4D mathematica code to help me finish the 4D code
  1. Goals for Week 1, Semester 2:
    • Upon receiving the Geometric Algebra 4D Mathematica program, use this to help finish the GA 4D C++ program
    • Do some more thorough tests on the timing based protocol instead of just LAN-LAN network - such as over the internet to begin with

Semester 2 Week 1

Michael

  1. Week 1 progress:
    • Met with Derek, James, Lachlan and Aleks.
    • Added a CluViz page to wiki and developed a GIF with screen capture software. I decided that I may try to program a hypercube animation (in line with the original project description) with CluViz if time allows later in the semester. This definitely isn't considered a priority and would only help others in visualizing 4-dimensions.
  1. Goals for Week 2:
    • Get support diagrams for 4D CluViz working properly. Decided on 6 diagrams, each representing the angle difference between each two rotation axes.
    • Attempt to implement James' recommendation of a checkbox to make the length of Alice1 = Alice2 (Isoclinic rotation - same rotation angle on different axis), or perhaps a checkbox to force Alice1 and Alice2 perpendicular, or parallel.
    • Add in extra support diagrams to isolate the difference between m and m' in all 4 dimensions.

Aleks

  1. Week 1 progress:
    • Receiving the Geometric Algebra 3D Mathematica Program
    • Used it to cross check the operation of our original 3D GA C++ program
    • Continued the search for a reasonable way to program 4D - and any way to implement visuals
  1. Goals for Week 2:
    • Continue working on the GA 4D program, and its visuals

Semester 2 Week 2

Michael

  1. Week 2 progress:
    • No meeting due to heavy workload
    • Added in an additional display in the GUI, to show the 3D displacement between the m and m' message vectors and the size.
      • Works most of the time. Need to fix the case when m' is inverted along the axis and doesn't show the line in between the 2 circles.
    • Got mouse control working to some extent. As the length of the rotation axes (alice and bob) would increase rapidly upon trying to rotate it around the unit-sphere, I made it so it limits this length to sqrt(2)*unit length which is the default length for rotation axes. This can be triggered by CTRL 1 through to CTRL 4 for each axis.
  1. Goals for Week 3:
    • Look at 4D Mathematica James sent
    • Finish up CluViz in 4D so that a solid start can be made on RTT.

Aleks

  1. Week 2 progress:
    • No meeting due to heavy workload
    • Not much progress unfortunately due to said heavy workload
      • However, took a step back from programming algebraic parts of the GA 4D program and added the capability for user input
  1. Goals for Week 3:
    • With the help of James' 4D Mathematica code, hopefully complete 4D
    • Move on to primarily working on displaying 4D projections in 3D

Semester 2 Week 3

Michael

  1. Week 3 progress:
    • Met with James and Lachlan (Aleks was ill)
    • Worked on 4D CluViz and got the rotation angle representations working.
  1. Goals for Week 4:
    • At this point, most of the CluViz work is done (awaiting recommendations from James). Any changes are likely to be in regards to the appearance rather than the technical functionality. As such, this will probably come back into play in the week leading up to the final seminar and exhibition to ensure it looks perfect.
      • Things that could be upgraded (whether an effort had previously been made or not)
        • Better mouse control functionality for controlling the 4D vectors. Attempt to make it feel more like a game.
        • Consistent coloring & add outlines to Rotation Angle representation.
        • The elements at the bottom of the main overlay need to be aligned better.
        • Re-write the summary paragraph at the top of the vizualisation.
        • Finally, double check the technical validity of what's being shown.
        • Fix "Reset Rotation Axis" button, so that upon un-pausing the animation, it resumes from the same location.

Aleks

  1. Week 3 progress:
    • Started working on the GA 4D program using James' mathematica as help
      • The complexity was much, much higher than originally anticipated and little headway is being made
      • It is a possibility that this work may need to be abandoned in order to make progress on the other project components
      • As a result, the other project components I was working on (mainly 4D projections in 3D) put aside until progress is made in the C++ program
    • Started to think about the structure and content of the final seminar
  1. Goals for Week 4:
    • Make as much progress on the 4D program as possible, and from that determine whether or not to continue its development or not
    • Put together a short plan for the final seminar, mainly outlining its structure

Semester 2 Week 4

Michael

  1. Week 4 progress:
    • No meeting due to heavy workload
    • Worked on a bit of the wiki and we refocused our objectives for the remainder of the project by prioritizing the remaining elements.
      • RTT was given the highest priority and as such, a majority of the remaining time will be spent on it.
  1. Goals for Week 5:
    • Start working on RTT properly.

Aleks

  1. Week 4 progress:
    • As a result of the slow progress on the GA 4D program, after advice from our supervisors we decided to give the RTT method the highest priority in the project
    • Put the 4D, 4D projections in 3D components aside, and will come back to them if time allows
    • Re-did some initial tests of the Python code Lachlan provided to us
  1. Goals for Week 5:
    • Set up some more detailed tests on RTT, perhaps involving an eavesdropper
      • Can be network-->network-->network
      • Can be lan-->lan-->network
      • Many tests to do for RTT

Semester 2 Week 5

Michael

  1. Week 5 progress:
    • Met with James and Lachlan - Code review of Python RTT code.
    • Started solid work on RTT and put the remaining GA on the back burner for the next couple of weeks leading into the final seminar.
    • We decided to develop bit-error calculation simulations using Matlab.
  1. Goals for Week 6:
    • Start reworking the Python code, and set up a series of tests as well as begin work on Matlab.

Aleks

  1. Week 5 progress:
    • Had a meeting with James' and Lachlan where we did a review of the Python RTT code
      • Biggest problem with the code is that it does not handle timeouts very well - need to fix this
      • Had a short test run of the python program from uni to Lachlan's server in Frankfurt
    • Suggested that we do some simulations in Matlab showing how the protocol works
  1. Goals for Week 6:
    • Fix the timeout problem in the python code
    • Develop the Matlab simulations

Semester 2 Week 6

Michael

  1. Week 6 progress:
    • Brought the weekly progress up to date on the wiki.
    • Start preparing the powerpoint for the final seminar.
  1. Goals for Week 7:
    • Develop test scenarios for RTT
      • Helped Aleks fix the timeout problem
    • Work further on final seminar and update wiki as a whole.

Aleks

  1. Week 6 progress:
    • Began preparing the powerpoint for the final seminar according to the short outline prepared before
    • Created first part of the Matlab simulations - bit parity checks for completely randomly generated bit streams
    • Did some different tests on the Python code and with Lachlan's help determined when the timeout is a problem (only in the first leg)
  1. Goals for Week 7:
    • Fix up the timeout problem
    • Continue adding simulation cases
    • Try to have most of the powerpoint done and shown to James/Lachlan/Derek for checking

Semester 2 Week 7

Michael

  1. Week 7 progress:
    • Finished a draft of the PPT for the Final Seminar! Met with James and Lachlan, but Derek currently overseas
    • Successfully conducted a test run of about 36 hours on our first run
    • Helped Aleks develop 2 more matlab simulation cases
  1. Goals for Week 8:
    • Get the powerpoint up to scratch, adding content and results and improving the overall look of it. Start preparing the script for the final seminar.
    • Go back and check up on the previous software such as the CLUVIZ program for 3D and 4D and check that it's all ready for the final seminar

Aleks

  1. Week 7 progress:
    • Finished an rough initial draft (nothing really polished) of the powerpoint and shown to Lachlan/James
      • Derek currently overseas
    • Fixed the timeout problem in the python code - started to do tests on it
      • Had a test run of about 36 hours on our first run, but error rate of approx. 1% upon conclusion
    • Developed second and third Matlab simulation cases
      • More realistic scenario where the bits are not randomly generated, but rather similarly generated for Eve, Bob, Alice
  1. Goals for Week 8:
    • Continue working on the powerpoint, adding the major content/results in while making it look nicer
    • Continue doing more test cases for the RTT method
    • Possibly add more Matlab simulations in

Semester 2 Week 8

Michael

  1. Week 8 progress:
    • Added more content into the PPT and finalised some much needed results
    • We started checking the effect of latency on the RTT protocol and also simulated an eavesdropped through Lachlan's suggestion of having the program run per normal with a seperate middle 'Eve' that collects her own timestamps.
  1. Goals for Mid-Semester 2 Break:
    • Final seminar and then have a brief well deserved break!

Aleks

  1. Week 8 progress:
    • Added most of our results/any other desired content into the powerpoint
    • Started doing more detailed testing on the RTT method
      • The effects of latency on it - that is, running the program from different locations
      • Started to look into eavesdropping - Lachlan suggested having the program run as normal but having an additional 'Eve' leg where she collects timestamps
  1. Goals for Mid-Semester 2 Break:
    • Put the testing/research on hold for the week and..
    • Perform the final seminar

Mid-Semester 2 Break

Michael

  1. Mid-Semester 2 Break progress:
    • Everything to do with the Final Seminar, including the preparation of the PPT
  1. Goals for Week 9:
    • Continue work on RTT - specifically tests with eavesdropper.

Aleks

  1. Mid-Semester 2 Break progress:
    • Finished up the good copy of the final seminar powerpoint
    • Rehearsed the final seminar
    • Performed the final seminar
  1. Goals for Week 9:
    • Conclude the eavesdropper tests on the RTT protocol

Semester 2 Week 9

Michael

  1. Week 9 progress:
    • Completed RTT Eavesdropper tests - read Aleks progress for the list
  1. Goals for Week 10:
    • Due to the completion of tests from this week, we can now begin to compile the RTT sections on the wiki

Aleks

  1. Week 9 progress:
    • Finished all eavesdrop tests on the RTT
      • Eavesdropper on the same network as receiver
      • Eavesdropper on the same network as sender
      • Eavesdropper on different network to both sender/receiver
  1. Goals for Week 10:
    • Start formally compiling our results and put them on the final report

Semester 2 Week 10

Michael

  1. Week 10 progress:
    • Started work on the Final Report and compiled the Geometric Algebra and CLUViz pages on the wiki with help from Aleks
    • Attended the Project Exhibition Briefing Session
  1. Goals for Week 11:
    • Make solid progress on the Final Report and the overall wiki - aim to have it 95% completed by next Friday

Aleks

  1. Week 10 progress:
    • Started working on the final report - finished the first section on the wiki
      • Started the physical timing based encryption section, not currently on wiki though
  1. Goals for Week 11:
    • Get the wiki 95% done

Semester 2 Week 11

Michael

  1. Week 11 progress:
    • Worked on and completed the Final Report
    • Compiled 13-minutes YouTube video for CLUViz using Camtasia Studio 8 - found here
    • Started working on Summary YouTube Video and YouTube wiki page
  1. Goals for Week 12:
    • Work on and submit poster by Tuesday afternoon using provided template.
    • Prepare the demonstration (both RTT and CLUViz) for exhibition and prepare a brief spill of the project.

Aleks

  1. Week 11 progress:
    • Completed the final report
      • Added the timing based encryption results to the wiki on separate pages
    • Started working on the Youtube video
    • Started work on a program which used the output of our RTT program as a one-time pad for encryption/decryption
  1. Goals for Week 12:
    • Submit the poster for the final exhibition
    • Prepare and practice the demonstration which we will use at the final exhibition
      • Rehearse the 3 minute pitch which we will need to show at the exhibition

Semester 2 Week 12

Michael

  1. Week 12 progress:
    • Completed and submitted the poster after feedback from Derek, James & Lachlan
    • Completed the RTT work and set up the use of the OTP for the Exhibition
    • Final Year Photo & Lachlans Seminar
    • Final Exhibition
  1. Goals for Week 13:
    • Tidy up code, finalise wiki pages (mainly references, internal/external links), complete 5-minute summary video and put both of our repositories on a USB for project handover on Tuesday.

Aleks

  1. Week 12 progress:
    • Submitted the poster
    • Finished the one time pad program for the exhibition
    • Attended Lachlan's seminar on the timing based process
    • Final exhibition done
  1. Goals for Week 13:
    • Collect, organise all of the code and other work done on the project and hand it up to Derek on Tuesday

See also

Back