Pssst… we can write an original essay just for you.
Any subject. Any type of essay.
We’ll even meet a 3-hour deadline.
121 writers online
Software engineering entails the creation of software systems, the systems when used result into creation of information, there may be a need to transfer the information over a network. Information or data is a very crucial resource. Thus securing the information becomes all the more necessary. The communication media through which we send data does not provide data security, cryptography ensures the data security. It provided methods for encrypting the information so that it becomes unreadable for any unintended user. cryptography and software engineering go hand in hand with the goal of producing secure usable software systems. cryptography has provided software engineering mechanisms to produce security critical systems ie business systems using online payments. It has also increased the confidence of consumer world in using software systems hence more development of software systems.
The art of cryptography is considered to be born along with the art of writing. As civilizations evolved, human beings got organized in tribes, groups, and kingdoms. This led to the emergence of ideas such as power, battles, supremacy, and politics. These ideas further fueled the natural need of people to communicate secretly with selective recipient which in turn ensured the continuous evolution of cryptography as well. The roots of cryptography are found in Roman and Egyptian civilizations (Pawlan, 1998).
In the modern world importance of private information and communication systems for society and the global economy is still intensifying with the increasing value and quantity of data that is transmitted and stored on those systems. At the same time, those systems and data are also increasingly vulnerable to a variety of threats, such as unauthorized access and use, misappropriation, alteration, and destruction. Cryptography helps in secure communication in the presence of third parties, it is about constructing and analyzing protocols that prevent third parties or the public from reading private messages( Swarnalata Bollavarapu, Ruchita Sharma, 2004 ).
Cryptography makes the modern world software products reliable. Every time you make a mobile phone call, buy something with a credit card in a shop or on the web or even get cash from an ATM, encryption bestows upon that transaction the confidentiality and security to make it possible. It incorporates various aspects of information security such as data confidentiality, data integrity, authentication and non-repudiation which increases reliability and trust in the use of communication software systems( Whitman, M. & Mattord, 2005).
3.1 Research design The researcher used online research methodology. This is the use of information available on the internet for research(Hargittai, 2002). The researcher chose the design because it provides quick, immediate access to wide range of information.
3.2 Sample and sampling procedure The researcher analyzed the information found on the web based on their relevancy with the topic under study
3.3 Data collection materials The information for the research was obtained from online archives, articles, and Wikipedia
Cryptography has positively affected software engineering development. Its introduction leads to a mechanism to develop usable critical systems i.e electronic commerce chip-based payment cards, digital currencies, computer passwords and military communications.
4.1 Cryptography in software systems The following are a number of ways cryptography has rooted in the software systems development.
4.1.1 Code protection using cryptography
This is a cryptographic method for discouraging the copying and sharing of purchased software programs it allows an encrypted program to be run on only a designated computer or, alternatively, to be run on any computer but only by the user possessing a designated smart card. Each program sold by the software vendor is encrypted with a unique file key and then written on a diskette. A user who purchases a diskette having written thereon an encrypted program must first obtain a secret password from the software vendor. This password will allow the encrypted program to be recovered at a prescribed, and a designated computer having a properly implemented and initialized encryption feature. The encryption feature decrypts the file key of the program from the password, and when the encrypted program is loaded at the proper computer, the program or a portion of it is automatically decrypted and written into a protected memory from which it can only be executed and not accessed for non-execution purposes. In alternative embodiments, the user is not confined to a prescribed designated computer, He/ she may use the program on other different computers with a smart card provided the computers have a properly implemented and initialized encryption feature that accepts the smart card. As a further modification, the cryptographic facility may support operations that enable the user to encrypt and decrypt user generated files and/or user-generated programs.
4.1.2 Digital signature certification
The rapid growth of electronic mail systems, electronic funds transfer systems and the like has increased concerns over the security of data transferred over unsecured communication channels. Cryptographic systems are widely used to ensure the privacy and authenticity of messages communicated over such insecure channels.
A public key is disclosed with enhanced digital signature certification which authenticates the identity of the key holder. A hierarchy of nested certifications and signatures are employed which indicate the authority and responsibility level of the individual whose signature is being certified. The certifier in constructing a certificate generates a special message that includes fields identifying the public key, and a name if the certified. The certificate is constructed by the certifier to define the authority which is being granted and which might relate to a wide range of authorizations, delegations, responsibilities or restrictions given to, or placed on the certified. The methodology is also disclosed for digitally signing documents in which a digital signature is generated for both computer verification and for re-verification and if a document needs to be re-confirmed by re-entering form a paper rendition(Addison M. Fischer,2006)
4.1.3 Development of Software usage authorization System
A computer-based function control system is which is particularly suited for use as software security device on the highly popular personal computers or microprocessor driven function. The system includes an encrypted security message uniquely encoded at predetermined locations within the software or function program. The software or function program include pre-set error on it to cause failure of execution of the software unless the errors are nulled during the operation of the software. a separate electronic key for retrieving, recognizing, decrypting, encrypting and producing a null signal is connected to the communication ports of the computers from which the key draws its power as well as the security message passed from the computer to the key and back to the computer. There is an interchange of moving target and validation information between the computer software and the electronic key. This information is transferred via the security message under the cover of encryption and is monitored by the key and the software to ensure that operation of the program can be effected only by the authorized users of the software program. (Paul Kobus,1986)
4.1.4 Development of systems such as encryption software
As encryption software is an important component in providing protection from cybercrime, there are many that provide encryption. Because there are so many software products that provide encryption, a good way to begin understanding this topic is classification by categorization. Software encryption uses a cipher to obscure the content into ciphertext, so one way to classify this type of software is by the type of cipher used. Ciphers can be categorized into two categories: public key ciphers, also known as asymmetric ciphers, and symmetric key ciphers. Thus, encryption software may be said to based on public key or symmetric key encryption.
Another way to classify software encryption is to categorize its purpose. Using this approach, software encryption may be classified into software that encrypts “data in transit” and software that encrypts “data at rest”.
As it turns out, these two types of classifications have something in common: that is, data in transit generally uses public key ciphers, and data at rest generally uses symmetric key ciphers.
However, software encryption is not as simple as that.
To begin with, symmetric key ciphers can be further subdivided into stream ciphers and block ciphers. Stream ciphers typically encrypt plaintext a bit or byte at a time and are most commonly used to encrypt real-time communications, such as audio and video information. The key is used to establish the initial state of a keystream generator, and the output of that generator is used to encrypt the plaintext. Block cipher algorithms split the plaintext into fixed-size blocks and encrypt one block at a time. For example, AES processes 16-byte blocks, while its predecessor DES encrypted blocks of eight bytes.
The emergence of cryptography leads to the development of more software communication systems. The world changed from sending data through written letters on paper via post office to instant communication by software systems via chat, email, video calls and social networking sites like Facebook, and Google+ etc. Most of the data communication is via an electronic system, nowadays. Communication system needs to be fully secured to avoid crook and tricky activities. Secure software programming is important and still becomes more essential. It is important to keep our data secure from adversaries. Cryptology is the method which makes data transmission secure and secret. Cryptology is required for data security or confidentiality and data integrity.
The great advantage of software realizations of cryptographic protocols is that they are portable to multiple platforms. Software realizations of cryptographic protocols have a fast time to market factor, but they can be applied in systems having limited traffic at low encryption rates.
5.1.1 Services of Cryptography in software systems
Software systems which implement cryptographic techniques have benefited in the following security areas
Assurance that only authorized users can read or use confidential information. Without confidentiality, anyone with network access can use readily available tools to eavesdrop on network traffic and intercept valuable proprietary information. Intruders who gain illicit network rights and permissions can steal proprietary information that is transmitted or stored as plaintext. Therefore, cryptosystems use techniques and mechanisms to ensure information confidentiality. For example, unauthorized users might be able to intercept information, but the information is transmitted and stored as ciphertext and is useless without a decoding key that is known only to authorized users.
Verification of the identity of the entities that communicate over the network. Without authentication, anyone with network access can use readily available tools to forge originating Internet Protocol (IP) addresses and impersonate others. Therefore, cryptosystems use various techniques and mechanisms to authenticate both the originators and recipients of information. For example, online entities can choose to trust communications with other online entities based on the other entities ownership of valid digital authentication credentials.
Verification that the original contents of information have not been altered or corrupted. Without integrity, someone might alter information or information might become corrupted, and the alteration could be undetected. Therefore, many cryptosystems use techniques and mechanisms to verify the integrity of information. For example, an intruder might covertly alter a file, but change the unique digital thumbprint for the file, causing other users to detect the tampering by comparing the changed digital thumbprint to the digital thumbprint for the original contents.
Assurance that a party in a communication cannot falsely deny that a part of the actual communication occurred. Without nonrepudiation, someone can communicate and then later either falsely deny the communications entirely or claim that it occurred at a different time. For example, without non-repudiation, an originator of information might falsely deny being the originator of that information. Likewise, without non-repudiation, the recipient of a communication might falsely deny having received the communication.
Cryptography has made software engineering to advance greatly by making more secure systems which meet required security standard of a wide range of users. cryptography has enabled automation of security critical financial processes such as e-commerce. One of the most important thing in financial transaction processes is confidentiality and trust between involved parties. Confidentiality is required to avoid eavesdropping and unauthorized access to sensitive data that only owners want to share with authorized people. Example. in a world of consumers confidentiality is required for transmission of pay TV programs to be accessed only by the authorized subscribers.it is needed to protect personal data transmitted over public networks that are otherwise easily accessible. Mobile phones and network are typical examples. Integrity protects unauthorized and or uncontrolled modifications. This type of malicious modification is typically done with malware run on an otherwise trustworthy device while the device owner is misleading. Banking data is particularly sensitive to this threat as data integrity is lost if a financial transaction is maliciously modified. Cryptography increased the trust and use of software systems henceforth result in the need for more software systems impact increasing software engineering.
To export a reference to this article please select a referencing style below:
Sorry, copying is not allowed on our website. If you’d like this or any other sample, we’ll happily email it to you.
Attention! this essay is not unique. You can get 100% plagiarism FREE essay in 30sec
Sorry, we cannot unicalize this essay. You can order Unique paper and our professionals Rewrite it for you
Your essay sample has been sent.
Want us to write one just for you? We can custom edit this essay into an original, 100% plagiarism free essay.Order now
Are you interested in getting a customized paper?Check it out!