Dynames Productions

A blog to showcase my creative and technical work. Talk about what I like to talk about.


Leave a comment

Importance of Data Security & Encryption – List

Hello dear readers, it has been a while since I posted an article on here. But having temporarily finished work on something relating to data security, I figured I would write an article on the topic.

Recently I finished working on the base version of a personal project I took up that deals in data encryption. Descriptions about that project can be found here. Working on this project required quite a lot of research on my part in terms of hashing, encryption and some other aspects of the programming language I chose to use. As a part of my research, it became even more clear just how important data security is.

I am going to recount a personal experience of mine as to what got me into this data encryption project of mine. Sometime in January 2018, I was looking for one of my USBs (one that I tend to use a lot) and could not find it. It worried me a little as I very rarely lose things. I recounted my steps to every location I could think of having been to, and searched for the USB with no success. Ironically enough, I had nearly given up on it, but then I stumbled upon it in a very well hidden pocket of my bag (which I had put it in there myself). I kept it in that pocket to ensure its not as easily discovered, and I myself could not find it…that pocket worked out well I would say.

laughing-t11665Jokes aside though, it made me think about what if I had REALLY lost the USB and it contained sensitive data on it. Someone could easily pick it up, attach it to a computer and browse it’s contents out of curiosity perhaps. That gave me the motivation to work on the encryption project (details about the project can be found here).

 

With story time out of the way, let’s discuss why data security is important to consider:

    1. We live in a very digital world, everything we do is connected in some shape or form. With the benefits it brings, it also brings downsides. Cyberspace can be a very vulnerable place.
    2. Cyber warfare is a very real thing. It has been happening for years. But even to just the general public, there are so many ways harm can come to them. For example, malware, adware or spyware products that could plant a back door into your computer to feed information to an outside listener.
    3. Today’s world is data driven. Almost everything is digitized, at least in the Western sphere. The phrase “money is power” can easily apply to data as well. Data is power. Any sensitive data about you falling into the wrong hands could bring harm to you.

Do you have more reasons you want to share? Please do so!

Reasons to consider encryption:

  1. When implemented properly, it can be a very STRONG defense mechanism against any prying eyes.
  2. It’s an added layer of security on top of your anti-virus or any other security software on your computer.
  3. Encryption has been a proven technique of security for centuries. That does not mean that encryption cannot be cracked, DES for example was cracked all the way back into the 1980’s (perhaps even earlier). Currently AES-256 bit is a good algorithm to use, RSA seems to be the best according to my research, but slow. Although AES-256 can be cracked as well, but the resources required are immense.
  4. In the case of businesses, it helps to maintain public trust. No client would want to give their information to a business if they know that their data would be vulnerable.
  5. Even if files were to be taken off a computer, as long as they are encrypted, they are useless without the encryption key to decrypt them with in most cases.
  6. Encryption for data traveling over the network ensures that any network packets intercepted mid-way would end up essentially being useless to any malicious entity doing reconnaissance or data interception.

Do you have any more reasons you want to share? Please do so!

That’s my quick piece on data security and encryption. I realize there are many articles about this very topic out on the vast land of the internet, but I hope that you were able to learn something along the way perhaps or even have something new to ponder about.

Until next time!

~ Monty

Advertisements


2 Comments

USB Security – C#

Note: This application is currently on version 1.0

Changes made to newest version (Log):

N/A – Program is on version 1 (Base program).

Application Information:

  • Name: USB Security (Temporary name for now)
  • Coded in: C#
  • Development Environment: Visual Studio 2010 (temporarily was also done in 2017)
  • For the following platform(s): Windows

Purpose of the Application:

The purpose of this application is to be lightweight and provide security for any sensitive data that users may put on their storage devices. This is ideal for USBs as that was the intended target, but it can be used with both internal and external HDDs and SSDs.

This console application will allow users to encrypt and decrypt data. It makes use of Rijndael encryption scheme. While encryption is done without any requirements from the user, to decrypt data, a password will be required. If the user fails to provide the correct password 3 times, then the data within the encrypted directory is wiped clean. Password is hashed and stored.

At the moment, the following file formats have been successfully tested with it: GIF, JPG, JPEG, PNG, DOC, DOCX, PDF, RTF, TXT, MP3 and MP4.

Program Functionality:

Step 1: When you open the application, you will be met by the following prompt…

1

The user will put in the drive letter of where the ‘data’ folder is stored. That location also stores the various important files needed for the successful operation of the program.

Step 2: After a drive letter is inputted, the program does a check for a password file and data directory…

2

If successful, the user can simply move on to the main menu screen. Otherwise, the program will automatically create the data directory, and ask the user to create a password they can remember.

Step 3: User is given main menu options…

3

Encryption – ‘E’:

Below is an image of the sole file within the data directory. Take note of the timestamp on the directory, as well as the sole file within that directory. The contents are also shown for reference and comparison for when it is encrypted.

45

Encryption takes place by calling to various functions within the code, that then do the following:

  • Open the file to encrypt.
  • Put it into a buffer stream.
  • Open an encryption stream using Rijndael encryption scheme.
  • What happens under the hood with the encryption scheme (useful link provided in the resources section):
    • Does a sub-byte operation: Takes the contents of the file in bits and through a 16 by 16 matrix table, that contains various hex values, it replaces the original hex values with the new ones.
    • Shifts rows: Think of the hex data of the file in a matrix. So it shifts the hex values over in the various rows. First row maybe left unaffected, second one will see a shift by 1, the one after that will see as shift by 2 and it will only increment.
    • Mix Columns: This step in the encryption works by applying a modulo operation to each individual column in the data matrix. There is a randomized matrix that is used for the operation against the various columns of the data matrix.
    • Add a round key: The algorithm takes an equally large matrix of round key values that are then added to the data matrix and produce new values in the place of the old ones.
    • Note: There are a total of 10 rounds that happen behind the scenes of this process. But on the tenth round, the mix column procedure does not take place.

6

The data is now encrypted and has been put into a new directory named “encryptDataDir” to let the user know to not delete the content in there. Because if they did, then all data will be lost!

Please take note of the timestamps and the now encrypted content of the text file.

78

Decryption – ‘D’:

When the user wants to decrypt, they are given 3 tries to input the correct password. After those 3 tries are up, the encrypted directory is deleted and any data associated in there is wiped.

9

Should they input the correct password, here is the screen they will see next where the actual decryption takes place…

10

Take note of the timestamps and the file content. While the time stamp has changed as it is a file operation we are executing, the contents of the file are back as they once were. Management of the timestamps happens at a system level versus user level. Meaning the normal user has no control over it, and Windows as a OS tends to keep users out of such control.

1112

Help Screen:

13

Program Information Screen:

14

Exit – ‘X’:

To exit, the user will simply type ‘x’. At the moment, the application does not automatically encrypt the data directory before quitting as I have defined it in the project scope, but that is an easy fix. That is something I plan to leave for in the future when I make more improvements to the program. Right now, it simply gives a message and then lets the user exit by pressing the enter key.

15

Conclusion:

This was a good little project that spurned from a practical need. What caused this idea to come about was when I thought I had once lost my USB. It made me wonder, what if I had sensitive data on there and someone else got a hold of it?

It made me also realize just how in-depth the world of encryption is. Of course I don’t know its true depth as encryption has been around for centuries. But one thing I can say with certainty is that if you have the option to use these pre-designed encryption algorithms, use them. Don’t try to fix what ain’t broke. I have in my research online during this project seen some messy  and very confusing code in which people try to create or modify existing encryption algorithms from scratch. It’s not an easy task, nor is it a viable task from a business perspective if you work on a time limit.

One thing to keep in mind, from Windows 7 and up, Microsoft has included an encryption method for its users (BUT only on Professional/Enterprise versions of Windows). Linux has ways to encrypt its home directory as well. I’m confident of Ubuntu, however I can’t vouch for other flavors out there.

Overall, there is room for improvement and there are some things I would definitely like to change (or add on) as outlined in the next section. This was a good fun project.

Also for anyone wondering if I ever found that USB, yes. Now you will get a laugh out of this. I searched everywhere except for that one well hidden pocket in my bag which just so happened to have the USB…there were both feelings of relief and silliness :).

Future Changes planned for future versions:

  • Implement Salt Hashing as opposed to the simple Hashing it is using right now.
    • Salt Hashing makes it more difficult to crack a hash as it makes every hash unique.
  • Implement ways for the program to sweep through multiple levels of folders/directories as opposed to 1 level it has right now.
  • Implement a logging system to keep track of various activities:
    • When a password file is created (Date & Time).
    • When the data was encrypted (Date & Time).
    • When the data was decrypted (Date & Time).
  •  Implement a security ques/ans file:
    • Contains a security question and answer. User will get a pre-selected choice of options for questions, they must type the answer in.

Resources:

Additional Material:

I thought to add this in as I was updating the future improvements list. Below is the flowchart you will find for the program as I was planning this out while working on the algorithm.

programFlow_v1


Leave a comment

Artificial Intelligence & Society

It has been a while since I did one of these posts. But recently due to the influx of news on artificial intelligence (AI), it got me thinking about how it may affect society. Before we start here, let it be known that I’m not a ‘Luddite’, in fact I have quite a bit of educational background in Computer Science and Database Administration. However the point of the concerns I raise here are to get you the readers thinking and share any solutions you may have found or come up with. Let’s start.

What is an AI?

For those who don’t know what an AI really is, here is a very basic run down. AI is essentially a program built on mathematical algorithms that are meant to emulate human thinking and to a lesser degree, creativity. When we say emulate human thinking, we mean that it should be able to absorb the knowledge that is fed to it, in the case of AI, it can be stored in a database ready for quick access by the AI itself. Meaning as long as storage is available, it can absorb limitless information, at least far more than a human could in one second. Creativity is something that is possible with AIs, but not to the extent that the imagination humans possess due to the current limitations of the mathematical algorithms and hardware. So all in all, true AI is meant to be like a human brain without the limitations of one.

Research into this has been conducted for years now, but it was never brought to the attention of the general public as much as it has been now. In recent years, AI research has advanced significantly. While those looking to the future with glee and technological interest will probably love it, there are concerns that are no doubt raised by this. Below I will outline and discuss some of these concerns.

Society and jobs

The state of jobs around the world varies based on country, economic and societal structure. The health of the economy also contributes. Some places are doing great, some not so good. The places not doing so well are some times unfortunately left alone by their own government in the hopes things will improve naturally. Sadly this is never the case, the economy doesn’t naturally “fix” itself. People must help do that by stimulating it through spending, earning, buying goods and drive supply and demand.

For that to happen, jobs must be plentiful. Where does AI come into this? AI has the potential of replacing humans in several roles currently in place. This is something that may not happen for at least another 20, 30 or even 50 years, but the potential is there.

Let’s take present world for example. Remember all those jobs in factories within the automotive industry? Yeah robots have come and taken over things like car assembly. Before we would need people for that, but not anymore. These robots aren’t necessarily true AI as they are programmed to do one specific task, but the idea of automation coupled with AI should give you an idea of how powerful and destructive that can be if scripted robots are already able to do more than an average humans can.

Society is a fragile concept that is already shaking from terrorism, and the various imperfections plaguing it. Jobs are an essential component to keep the economy, and by effect society going. If jobs were to be taken over and automated by AI, imagine the type of effect that would have on the middle and poor class. The rich maybe able to ride the automation out without much worry, but not the middle and poor class.

Concerns with AI Job takeover

The thinking behind AI right now is that, any job that can be automated should be automated. Any job requiring tactical thinking over creative thinking. AI may have some very minor capabilities for creative thinking, they are just no where near the level of humans in that department as of now. So what does that mean?

Most minimum wage jobs are at risk of being replaced by AI. Any job that has repetitive tasks can be, and will most likely be replaced. Jobs like:

  • Retail store clerk (Sales associate, floor associate, cashier, etc.)
  • Waiters
  • Fast Food workers (that are below the managerial level)
  • Customer Service Representatives
  • Financial Advisors and Planners (Investment advisors may also be at risk in the future)
  • Administrative Assistants
  • Virtual Assistants
  • Any position below a manager’s level and one that doesn’t require much face to face and creativity in customer service
  • and more…

Above I have named just a few jobs. All of them aren’t necessarily minimum wage, but for some of the jobs mentioned, there is already software that can do parts of it. Take accounting for example. Before Accountants had bookkeeping as part of their responsibilities, some places they still do. But now there is software out there like QuickBooks to help you do that. Accountants then can focus on the other aspects of the job while overseeing the software’s results.

Unlike humans, a machine never needs to rest, take breaks to eat, drink water, sleep, go on vacation, ask for a raise or anything of that sort. AI would essentially be the model employee putting humans at a great disadvantage for jobs at a high risk of automation.

Are you in a job you are worried about being automated? Find out here just how much of a risk your job is at: http://www.bbc.com/news/technology-34066941

The link above is presented from 2015, so it’s quite old but still relevant. If anything, some of those values will most likely have increased by now.

We already see the effects of this in retail and fast food outside of the automotive industry. Let’s look at the larger grocery stores, they have both humans and self-checkout right now. But how long will the human element continue, it’s quite clear that the self-checkouts will take over in the future by slowly increasing their quantity over their human counterparts.

Another example would be McDonalds. They have introduced the self-order kiosks for a while now. This eliminates the need for so many cashiers as the kiosk can operate on less money, and would not need to rest. The only time they can be costly is perhaps when installing, and a major maintenance or a patch job is needed.

original-16911-1437420974-4

There is even an AI robot serving drinks in the Robots Bar and Lounge in Ilmenau, eastern Germany!

article-2379966-1b04caa8000005dc-32_634x393

Check out this daily mail article for more information on Carl the Bartender Robot: http://www.dailymail.co.uk/news/article-2379966/Carl-robot-bartender-pours-drinks-customers-German-bar.html

No, this does not mean that every bartender is going to be replaced. What this should tell you is of the potential in robots, AI and automation for these jobs. AI still has a long way to go however before they can get around to replacing bartenders due to the creativity involved in mixing various drinks all the while adding their own little touches to it.

But lets take a look at another job, teaching assistant. That job has many aspects to it, some are repetitive tasks, while others are more intellectual in nature. Well there is a professor who built an AI teaching assistant to help answer student questions using existing technology such as IBM Watson. You can read about it here: http://www.businessinsider.com/a-professor-built-an-ai-teaching-assistant-for-his-courses-and-it-could-shape-the-future-of-education-2017-3

There have even been tests into robots in an official educational setting. For example, there was one in which an AI powered robot was given the lead to teach a class of university students. We are not talking elementary kids, but adults in a university level education. That should say something about the technology, its abilities and the advances people are looking to make with it.

But the most prominent use of AI that I have come across is how some banks in Japan have already started switching over to as human free as possible. Keep in mind though that this is for roles that don’t require much creative thinking and are based around set tasks such as simple bank transactions, getting news on the latest developments in the financial world and banking product information as well as signing up for them. There has also been news of a Japanese Insurance firm replacing some workers with AI. That can be found here: https://www.theguardian.com/technology/2017/jan/05/japanese-company-replaces-office-workers-artificial-intelligence-ai-fukoku-mutual-life-insurance

Now, where do concerns come into this exactly?

Below I have listed out some in point format for easier reading:

  • If AI has the potential to replace humans, even to the level of CEO as Alibaba’s founder puts it, then what use will there be for humans in the job world? Only creative endeavors may remain, unless AIs develop even beyond human limitations.
  • If minimum wage jobs are looking to be completely automated and replaced with robots, what will students looking for part time work to help fuel and control their expenses during studying do? Most decent jobs nowdays require a Bachelor’s even for entry level.
  • The technological aspect of the market will grow with AI, but not everyone is suited to tech jobs. What will happen to those left out of a job?
  • Is society prepared for such a huge change? We are talking about something like another industrial era here.
  • If people are displaced from jobs with little to no sign of being able to once again enter the workforce, what will the government do about them? How will it make sure that there is no growing tensions between the various classes (rich, middle, poor)?
  • If AI has the potential to be as smart as it is said to be, then there may come a day where humans are put out of work completely. People talk about the convenience factor more often than not, but what convenience is there if it can’t be afforded?
  • Will societies and governments react too late to these changes?

Those are some of my concerns. Now I’m not saying I have the answer to all of the questions posed above, but I do have some ideas to get started. Elon Musk has always been a believer of a set universal income, in which you get money from the government to help maintain a certain standard of living. If you earn anything else, that would be extra income then. In a sense it could be like welfare, but it maybe charged at the same tax level as normal income. This, or something similar is necessary if we are to look into a future where AIs do all the work and humans just kick back.

Another alternative is that while keeping and maintaining most career roles we have today, we supplement them with AI aid. So humans no longer have to engage in the repetitive tasks of their jobs, but instead can focus more on the intellectual, creative and innovative aspects of it. Of course if your jobs is all about repetition, then you are pretty much screwed. However there have been initiatives to fight back the automation and keep people employed. So there is that to consider.

At the end of the day, you have to ask yourself, how much are you willing to work with an AI?

Are you going to be happy consuming food produced by robotic arms all coded to create the same flavors?

Personally I’m not comfortable with the idea of eating the food produced down to specifications by robots. There is something special about eating food produced by human hands as everyone makes it differently. I can work with AI if it is there to supplement the job, but if it is there to do the job, things can become more difficult. I personally find something disturbing about talking to an AI robot day in and day out. Imagine going to the bank and interacting with an AI to get financial advice. Just imagine talking to that monitor that is coded to respond based on logic and facts. The bit about it being very logical and factual may sound great as there is little room for error in judgement that way, but then what about people whose circumstances are special and require a more emotionally understanding individual?

That connection between human social interaction can never be fully replicated by robots or AI.

Let’s wrap this up

Honestly, what I have said here isn’t even scratching the surface of the issues that are posed with the advent of AI and their potential implementation on a mass level. Here is an interesting article concerning Elon Musk and Stephen Hawking and their rather cautious outlook for AI. It maybe a good read for you: http://www.dailymail.co.uk/sciencetech/article-2907069/Don-t-let-AI-jobs-kill-Stephen-Hawking-Elon-Musk-sign-open-letter-warning-robot-uprising.html

Does this mean that we should all fear, and hate AI and robots? No, they can be very beneficial if implemented properly to work alongside humans. But if they are implemented with the intention of improving, and at one point in the future putting most if not all of humans out of a job, then we damn well better be prepared for that day. Because if we aren’t, humans may have another revolution, or a war on their hands within their own societies.

What are your thoughts on artificial intelligence and its potential effects for the future on society?

Thanks for reading!


Leave a comment

What I have been up to

Hey everyone,

There has been quite a bit of a gap since my last post on here. I have been busy working on something that I thought to make after running into an issue with twitter.

For those that use it will know that twitter has a schedule feature where you can schedule to tweet out a tweet. BUT that scheduler never had the ability to make it recurring (at least not one I could find). Now while my solution may not be as elegant in looks, it is still quite functional.

I have been working on a Java application with the integration of Twitter4j library to create a program capable of sending out tweets in bulk.

Why design this?

To simply save me time. When my list of tweets was small, it was bearable to copy and paste them all in. Or even schedule them every week. But now that the list has expanded, it is clear that individually scheduling them every week or copying and pasting them every time is not going to be efficient.

The program is quite simple in design, but powerful in its main focus of bulk tweeting. Once I have ironed out the more finer details of the program, I may release some screenshots and maybe a written demo on here for any curious programmers out there. Maybe this is something then you could make yourself as well.

Don’t know yet if this is something I will actually be able to release to the world since I will have to look at any potential legal ramifications. But hey, if I release a written demo here, it will be a starting point for any other programmer to make their own bulk tweeting software :).

~ Monty

________________________________________________________________

Check out my other blog here: LightExistence.


Leave a comment

Humanity Moving in the WRONG direction?

Note: This post may get a little heavy for some readers. It is one of those deep thought type of posts.

4946933

I was just struck by this thought very recently and the more I think about it, the more I’m convinced that we may not be in the golden age we may think to be in.

In terms of the economy, all around the world it is either up, down or simply put stable. Society wise it is either improving, stable or degrading. Technologically we are booming. This is where my concern comes in when faced with the question “Is humanity moving in the wrong direction?”

b5986f573077e70f575aa789ceceed48e2426509660ba464028af04e428ae224My answer to this question is going to be very subjective as I can only answer based off of my experiences and my perception of reality. Do keep that point in mind when you read any further from here on. Also, the points I make below are not meant to be a generalization, I realize my argument won’t apply to all.

Technological innovations seem to be heard about on a daily basis in first world countries. You can hear about them even in third world countries if you have the means to. But amidst all these innovations I feel as if we are drifting further from Mother Nature. This planet, it’s ecosystem we refer to as nature gave us life.

Yet here we are in a day and age where we place more emphasis on new technological innovations. We find more pleasure in technology than we do in nature. This point I’m sure is not applicable to everyone, there are still those who value nature over technology. But with the creation of social media platforms, eSociety platforms that aim to heavily integrate technology into running a society and our smart phones I feel we are getting lost amidst all this technology.

technology-addiction-300x336Maybe I’m just burnt out on all the technology I’m surrounded by or maybe I just yearn for a more nature driven lifestyle. But when I go on the train, I see people glued to their phones and tablets watching videos. There is a whole world around you, things to be seen, observed and learned. Yet people are glued to technology like its their god. Again this doesn’t apply to everyone, but from my experience I have seen the majority attract towards technology over nature.

I think we are moving in the wrong direction. If technology is used to enhance our existence as well as the existence of other animals, its cool. Look at using digital ways of documenting, sure helps the tree population. But when we come to things like social media platforms, eSociety platforms that have social media aspects to them, I tend to ponder just how will this enhance the world as a WHOLE on a general level?

Sometimes it feels like certain aspects of technology is taking over extremely important aspects of life. Social media for example, so many people use it on a daily basis so much so that sometimes they forget to have a proper face to face conversation. Or they become so reliant on these technologies it tends to take away some important social skills. I know from experience as social media has affected me quite a bit. No doubt this is also one of the reasons I seem to be growing a certain aversion to technology.

I would much rather see people with their heads up and with a smile on the train than glued to their phones. But hey, if you are watch something hilarious feel free to laugh out loud because laughter may just spread all around the carriage bringing a little bit of joy to everyone.

o-corrupt-money-facebookFrom my perspective, humanity is going in a very bad direction. We look up to the skies hoping to colonize on other planets through our technological innovations and marvels. Yet we can’t seem to solve some of the most serious issues we have right now down here. Issues like corruption, poverty, injustice and inequality. What good will moving out into space do us if we can’t seem to grow as a species? Humanity is still taking baby steps in psychological evolution as a species, yet hoping to take giant leaps in technological advancements.

At this point I simply feel like I’m rambling, so I may as well end this post soon. Simply put, maybe people need to step back from all the technology and again find what really made it worth living on this world. It was and still are the experiences we get through personally doing something worthwhile for others, the planet and not just be stuck to using technology all day long.

But hey, for what its worth I will give credit where it is due. Human species is not all bad as this post may make it seem to be, there are good qualities. But in a distorted world like ours, it seems to me that it takes more effort to find the good than the bad.

Still I know I feel like my mind is being sucked dry nowdays by using computers and phones too much. How about you?

What do you think of the direction humanity is taking?

~ Monty