Project 2.A Extending NS-2 to support encryption/decryption Date: 04/07/2005 Course: CSCI 5931 Name: Sam Tran Tuan Nguyen
Extending NS-2 to support encryption/decryption 1.Abstract 2.Approach 3.How to add new security features in NS-2 4.General design encryption/decryption in NS-2 5.Implementation 6.Simple demonstration 7.Conclusion 8.References
1. Abstract Implementation of security on NS-2 is necessary in network simulation. However, currently, NS-2 does not support these features. Our project will aim to solve this issue.
2. Approach NS-2 is open source network simulation application. NS-2 currently supports IP protocol suite and various standard routing protocols for wire and wireless network. To add security functions. We have to modify/build new packet formats.
3. Add new security features in NS-2 Define a new packet format. Derive new class from Agent class for processing this new packet format. Processing includes: –Encrypting function. –Decrypting function. –Message digest generation function. –E.t.c
4. General design flow for security packet in NS-2 Figure1: Steps to add new packet to NS-2 and testing results
5. Implementation Figure 2: Logical design of the encryption/decryption system
Hash function –Polynomial Algorithm. Encryption function –Input: String of plain text –Algorithm: CESAR cipher with pre-shared key of 3 –Output: Encrypted text. Decryption function –Input: string of encrypted text –Algorithm: CESAR cipher with pre-shared key of 3 –Output: decrypted text. 5. Implementation (cont.)
6. Simple demonstration Figure 3: Outcome of simple demonstration script.
7. Conclusion The project shows a method to add security functions into NS-2. With this approach, we can build standard security components into NS-2 using industrial standard algorithm such as SHA- 1, MD5 for hash function and DES,3DES and AES for encryption/decryption. Project can be extended to support asymmetric key encryption/decryption.
8. References Marc Greis (2005). Tutorial for the network simulator ns. Retrieved 3/28/05 from: Free Information Society (2005). Hash Table Class. Retrieved 4/4/05 from: ams/cpp/hashtable.h ams/cpp/hashtable.h Jess Garms, Daniel Somerfield (2001). Professional Java Security. ISBN Hash function implemented in C++ with polynomial algorithm. Retrieved 4/14/05 from ion ion