NSITonline

Google Summer Of Code Experience

Google Summer Of Code Experience

Google Summer of Code is an annual program held in the months of May through August where selected students write code to implement ideas for various open source projects and organisations. 

Read more: Google Summer Of Code Experience

RSA Encryption

RSA Encryption

Cryptography is the practice of hiding information, also known as encryption which is the process of converting plaintext to undecipherable ciphertext. A cipher is a pair of algorithms that create encryption and the reversing decryption. The operation of a cipher is controlled by the algorithms and a key.

Symmetric cryptography involves the use of a single key for encryption and decryption while public key cryptography or a symmetric cryptography involves the use of two different keys for encryption and decryption. The public key used for decryption can be used as widely as the user wants. Signing is done to ensure that the message being sent is by the original party and not any malicious person.

What is RSA?

The RSA algorithm was invented by Ronald L. Rivest, Adi Shamir, and Leonard Adleman in 1977. It is the first algorithm known to be suitable for signing as well as encryption, and one of the first great advances in public key cryptography. However, the RSA algorithm is very computationally intensive, operating on very large (typically thousands of bits long) integers. Its security is based on the difficulty of factoring large integers.

RSA is widely used in electronic commerce protocols, and is believed to be secure given sufficiently long keys. It is built into current operating systems by Microsoft, Apple, Sun, and Novell. In hardware, RSA can be found in secure telephones, on Ethernet network cards, and on smart cards. In addition, RSA is incorporated into all of the major protocols for secure Internet communications including SSL, S-HTTP.

 
The project was done by two students Kartikeya Goyal and Advait Madhavan specialising in Electronics and Communication of the batch of 2010. Their guide for the same was Prof. Dhananjay V. Gadre, an esteemed faculty of the Electronics and Communication Division. Manjot Pahwa from the NSIT Web Team interviewed Kartikeya Goyal.

They implemented the RSA data security standard on the Virtex-4 FPGA. The system was generic and could generate public and private keys and ciphers of any size down from 16 bits to more than 256 bit long contingent to the system resources. The prime numbers required were also generated by the system.

Kartikeya Goyal has even started his own Special Interest Group (SIG) on FPGAs (Field Programmable Gate Array) – an integrated circuit designed to be configured by the customer or designer after manufacturing – under IEEE NSIT.

 

For further information about the project and SIG, contact Kartikeya Goyal at This email address is being protected from spambots. You need JavaScript enabled to view it.

Twilight Switch

Twilight Switch

The timely operation of street lights, porch lights and other forms of outdoor illumination is required for the twin concerns of safety and environment protection; lights operated too late are a safety hazard, while lights operated too early are a waste of power. The switching on and off of external lightings can be set with the help of the device called Twilight Switch.

Traditionally switching has been controlled either via a human operator; automatic control is accomplished using a light sensor like LDR or photosensitive cells. Unfortunately the use of sensors is accompanied by wastage of power and unreliability because sensors invariably deteriorate over time due to exposure to rain, dust, snow and hail, degradation of materials due to sunlight, and other elements like littering and picking by birds.

Three students at NSIT, Akash Verma, Eklavya Gupta and Nipun Garg, pursuing the Bachelor of Engineering degree specialising in Instrumentation and Control Engineering, have developed a twilight switch under the able guidance of Dr. Dhananjay V. Gadre.

The Twilight Switch is a solution addressing the above concerns; it automatically calculates everyday the start and end of civil twilight for that day using accurate mathematical formulae and the geographic co-ordinates and current date as input data. Since the lightings are turned on and off when it is required, electricity is saved. No attendant is needed to perform this function. By being fully automated, this device adds economic viability by eliminating the requirement of an operator for switching on and off lights, only requiring a one-time configuration at the time of installation. By being devoid of sensors, it is possible to enclose the switch in a box away from environmental hazards. This model is an improvement over previously existing ones because of its ease of operation, ruggedness, performance in terms of accuracy of calculated times and because it is a low-cost model.

In terms of calculation of operation times, the Twilight switch gives results accurate to 2 minutes for all locations on the earth below 80° N; a maximum error of up to 10 minutes for the extreme case of twilight approaching 24 hours or nil duration. This error is observed on 3-4 days in the year for high-latitude regions. Indeed these "errors" should be called "deviations" from the standard used for testing; actual twilight times could easily deviate by bigger margins from the standard owing to a multiple of reasons like local topography, weather, temperature, air quality etc.

A prototype has been kept in operation since the 10th of August, 2010 at CEDT Lab at Netaji Subhas Institute of Technology and the operation of lamps at dawn and dusk has been as expected. The problem of drift in frequency has been brought down to -1 second per day, as mentioned before, and the behavior is logged periodically. The system clock on the kit has shown stable behavior and a negligible error, and the last problem - that of drift in frequency of crystal - may be considered resolved.

This project has some more scope left for future research in this field. The effect of temperature on clock accuracy can cause considerable error to accumulate over time in conditions of extreme climate, requiring more frequent recalibration. The use of temperature controlled crystal oscillators for minimizing this need of recalibration is being investigated for use in such harsh climates.

For further information about the project and future work, contact Akash Verma at This email address is being protected from spambots. You need JavaScript enabled to view it. .

 

Data Acquisition Systems

Data Acquisition Systems

Data is information that has been translated into a form that is more convenient to process. Data  is  often  viewed  as  a  lowest  level  of  abstraction  from  which useful information and knowledge are  derived. Experimental  data  refers  to  the  data  generated within  the  context  of  a  scientific  investigation  by  observation  and  recording. In an embedded system, data to be collected is either in the form of binary sequences of pulses, generally  referred  to  as  digital  data  or  has  continuous  range  of  values which  is  called analog data.

Most research projects need data in order to answer a proposed research problem. The data that need to be acquired, and the sources of such data, must be identified as a matter of utmost importance. No amount or depth of subsequent data analysis can make up for an original lack of data quantity or quality.

Research problems and objectives (or hypotheses) need to be very carefully constructed and clearly defined, as they dictate the data that need to be obtained and analyzed in order to successfully address the objectives themselves. In addition, the quantity of data, their qualities, and how they are sampled and measured, have implications for the choice and effectiveness of the data analysis techniques used in subsequent analysis.

Data Acquisition is the process of sampling and collection of real world data that can be either processed within a specific deadline from time of collection of data or stored in a storage device and retrieved for processing later on. Alternatively, a data acquisition system may be either real time if it processes the data as it collects it or non real time if it stores the data and processes it later on. The purpose of data acquisition is to measure an electrical or physical phenomenon such as voltage, current, temperature, pressure, or sound and log the readings in a storage device. 

Every data acquisition system shares a common goal of acquiring, analyzing, and presenting information. A processor based data acquisition generally involves conversion of analog data to digital data for storing in the memory. Hence, an analog to digital converter is the heart of an analog data acquiring system. PC-based data acquisition uses a combination  of  modular  hardware  to  take  the measurements,  application  software  to  operate  the  system,  and  a  computer  to  store  the data  and  process  it  further. 

Two students at NSIT, Nehul Malhotra and Mayank Jain, specializing in Electronics and Communication, have successfully developed a fully dedicated data acquisition system having the ability to acquire data at a specified time with fine resolution and high accuracy in both time and data measurement. Their guide is a reputed faculty member of the Electronics and Communication Division, Prof. Dhananjay V. Gadre.

The system can be used to develop the V-I curves  of  charging  of  a  capacitor  with  the  help  of  technique  known  as under-sampling. From the V-I curves obtained, we can find the value of capacitance. The  system  also  has  the  ability  to  communicate with  the  PC.  The  other  parts  of  the  project  also  include  MATLAB  based  support  to  interface  the  system with PC  to  create a user  friendly environment.

The system they used is a generic PC-based data acquisition system which uses a modular hardware comprising of a digital processor. A microcontroller is a small computer on a single integrated circuit consisting internally of a relatively simple CPU, clock, timers, I/O ports, and memory. The microcontroller has been programmed in C language to  collect  the  data  at  a  specified  time  with  fine resolution and high accuracy in both time and data measurement along with the ability to communicate with PC by software implemented for storage and further processing of data.

Although the system can collect any analog data available on its data input terminal but in this case, it has been made to collect the analog voltage across the capacitor during its charging with the resistance of pre-specified value. It should be noted that measurements like voltage across the capacitor during charging and discharging require utmost accuracy of time and it can’t be obtained by a multithreaded  environment  like OS (Windows/Linux) on a PC. Therefore, the need arises to develop a fully dedicated system to  collect  the  data  at  accurate  times  which  can  then  be  logged  into  PC  for  further processing.  Time  errors  arising  during  logging  don’t  matter  as  the  actual  data  was collected at the exact time although it may be received by PC at some later time. Once the PC has collected all the data it can process using features like curve tracing etc. to find the value of capacitance.

The readings across a capacitor have been taken by the process of undersampling meaning that after collecting a reading at a particular time, the capacitor is discharged to ground  and  then  charged  again  till  specified  time  to  collect  the  next  reading.  So, the actual time required to collect a single complete set of readings takes a lot more time than the time taken by capacitor to charge in a single go.

Below is a screenshot:


Nehul Malhotra can be contacted at This email address is being protected from spambots. You need JavaScript enabled to view it. .

 

Google Summer of Code Project

Google Summer of Code Project

Google Summer of Code (GSoC) is a global program that offers student developers stipends to write code for various open source software projects. Google works with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 3300 students and more than 5,000 mentors & co-mentors from nearly 100 countries worldwide, all for the love of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

The program invites students who meet their eligibility criteria to post applications that detail the software-coding project they wish to perform. These applications are then evaluated by the corresponding mentoring organization. Every participating organization must provide mentors for each of the project ideas received, if the organization is of the opinion that the project would benefit from them. The mentors then rank the applications and submit the ranked list to Google. Google then decides how many projects each organization gets, and selects the top-n applications for that organization, where n is the number of projects assigned to them.

Tux4Kids  is a volunteer project dedicated to creating fun and educational software for children. The project was started by Sam Hart over ten years ago and currently maintains and develops three software programs. The programs take their name from Tux, the Linux mascot. Tux Paint, led by Bill Kendrick, is an award-winning and widely used artistic graphics program. Tux Paint is enjoyable for everyone from the youngest children capable of using computers up through adults. Tux Math (originally written by Bill Kendrick, now led by David Bruce and Tim Holy) is a video game-style math drill program. It covers basic math operations up through topics such as negative numbers, factoring, and order-of-operations exercises. Tux Typing (originally written by Sam Hart, now led by David Bruce) offers word typing practice in the setting of two video game-type activities, as well as phrase and sentence typing for older students. They are developed natively on Linux and are included in all major desktop distributions, as well as non-Linux Free Software collections such as the FreeBSD Ports Collection and the MacPorts project for OS-X. Builds are also available for Microsoft Windows and BeOS. The aim is to avoid specific platform dependencies so the programs can be made available as widely as possible, including the computing environments that children are most likely to actually encounter in schools.

Akash Gangil is a student at NSIT who did a project called TuxMath under the Google Summer of Code 09 program with the organization Tux4kids. He was among the 1000 students who were selected after a highly competitive application procedure in 2009.TuxMath is an arcade game that helps kids practice their math facts. This project aims to provide multiplayer facility over network (LAN) to the game.


The project enabled the prospect of competitive and collaborative playing mode in the game . Since TuxMath is being extensively used in some of the primary US schools.  Moreover, this implementation also provided a basic framework which could be duplicated in TuxType, a typing tutor program of Tux4Kids.

Shown below are snapshots of the game play and lessons.


As an engineering student, this project was a great learning experience for Akash as it gave him a deeper insight into the software development process in the open source communities. Also, he learnt how collaboration is achieved between developers spread over various time zones through version control systems (svn), IRC and mailing lists.

Akash Gangil can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it.  if you require more information.

 

{linkr:none}

{linkr:none}

{linkr:none}The program invites students who meet their eligibility criteria to post applications that detail the software-coding project they wish to perform. These applications are then evaluated by the corresponding mentoring organization. Every participating organization must provide mentors for each of the project ideas received, if the organization is of the opinion that the project would benefit from them. The mentors then rank the applications and submit the ranked list to Google. Google then decides how many projects each organization gets, and selects the top-n applications for that organization, where n is the number of projects assigned to them.

Tux4Kids  is a volunteer project dedicated to creating fun and educational software for children. The project was started by Sam Hart over ten years ago and currently maintains and develops three software programs. The programs take their name from Tux, the Linux mascot. Tux Paint, led by Bill Kendrick, is an award-winning and widely used artistic graphics program. Tux Paint is enjoyable for everyone from the youngest children capable of using computers up through adults. Tux Math (originally written by Bill Kendrick, now led by David Bruce and Tim Holy) is a video game-style math drill program. It covers basic math operations up through topics such as negative numbers, factoring, and order-of-operations exercises. Tux Typing (originally written by Sam Hart, now led by David Bruce) offers word typing practice in the setting of two video game-type activities, as well as phrase and sentence typing for older students. They are developed natively on Linux and are included in all major desktop distributions, as well as non-Linux Free Software collections such as the FreeBSD Ports Collection and the MacPorts project for OS-X. Builds are also available for Microsoft Windows and BeOS. The aim is to avoid specific platform dependencies so the programs can be made available as widely as possible, including the computing environments that children are most likely to actually encounter in schools.

Akash Gangil is a student at NSIT who did a project called TuxMath under the Google Summer of Code 09 program with the organisation Tux4kids. He was among the 1000 students who were selected after a highly competitive application procedure in 2009.TuxMath is an arcade game that helps kids practice their math facts. This project aims to provide multiplayer facility over network (LAN) to the game.


The project enabled the prospect of competitive and collaborative playing mode in the game . Since TuxMath is being extensively used in some of the primary US schools.  Moreover , this implementation also provided a basic framework which could be duplicated in TuxType ,a typing tutor program of Tux4Kids.

Shown below are snapshots of the game play and lessons.


As an engineering student, this project was a great learning experience for Akash as it gave him a deeper insight into the software development process in the open source communities.  Also, he learnt how collaboration is achieved between developers spread over various time zones through version control systems (svn), IRC and mailing lists.

Akash Gangil can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it. if you require more information.

 

{linkr:none}

{linkr:none}

{linkr:none}

Societies

Netaji Subhas Institute of Technology

Azad Hind Fauz Marg, Sector-3, Dwarka, New Delhi - 110078
(An Autonomous Institution of Govt.of NCT of Delhi)

You are here: Home Students Student Initiative and Projects Student Projects
RizVN Login