Bitcorn is a game based on the Counterparty platform, where Bitcorn farmers hold CROPS that get harvested seasonally. Yes it’s a game, involves cryptocurrency, requires patience, and best of all is totally useless. Trust me, just read a little more before dismissing it out of hand – you may like it.

TL;DR – Hodl CROPS tokens and get Bitcorns airdrops four harvests a year. Like I said, this is for patient farmers. The game runs at least until 2022, when some final prizes will be awarded to farms and coops. Read on to make sense out of all this bitcorn farming and how to get started with your very own Bitcorn farm.

Read More

The Simple Mail Transfer Protocol (SMTP) has survived to this day due to widespread use, but remains a sore spot for privacy advocates and a nightmare for security professionals. Email was the first real application on the Internet, and remained the most popular app in the 1990s, even after the web became popular.

In the late 1970s when the Internet was still being developed, people read and sent email by logging in to a central computer on a console and used a text-based email program. This basic technique of sending text messages and reading them using simple email programs continued to be the primary method of communicating online through the 1990s. But now, with yearly email messages sent somewhere on the order of one hundred trillion, it has grown into an unrecognizable beast.

Read More

You’ve probably heard of two factor authentication, commonly referred to as two factor auth, or simply 2FA. It literally means using two different things to authenticate. Authentication is proving that you are who you claim to be, and providing two distinct forms of credentials is highly recommended. Not all 2FA varieties are equal however, so we’re going to examine this in a bit more detail.

The bottom line is that when 2FA is available, you should try to use it because it provides much stronger security. You might not realize it, but you are already familiar with common forms of two factor authentication. Perhaps you work in a secure area and use both a badge and a passcode to gain access. The badge is one factor, and the passcode is a second factor. This illustrates the main point of 2FA – it is not sufficient to simply have the physical badge, which might be stolen – an attacker would need to know the passcode you carry in your head as well.

Read More

We focus almost exclusively on software that runs locally on linux because of all the great software that is available. But in this post we’ll take a look at a couple of web based reources for doing some pretty effective image forensics.

We test drove these sites using JPEG and PNG image files with content hidden inside. Our PNG test image had another image hidden inside using LSB steganography – using the least significant bits. We used two JPEG images with the same fairly large image hidden inside, one using the Matroschka program and the other using Steghide.

Read More

Did Google do something amazing, again? Should we even care? Is this the beginning of the end? Do we need to worry about quantum computers breaking our encryption? For the answers to these and a down-to-earth explanation of what it all means, please read on.

First of all we don’t know if Google did indeed achieve quantum supremacy. We won’t know for sure for some time to come. TL;DR – if they did, it really doesn’t change anything that will affect online commerce, cryptocurrency, encrypted communications or anything people are worried about. This is all about proving whether or not there are things can be computed with these machines once we get better at building them that cannot be computed by quantum simulators – a.k.a. conventional computers. That’s the short answer, a slightly longer one follows.

Read More

Let’s now take a look at using cryptographic hashing functions in Python programs. We’ll mainly focus on the hashlib module, that provides all the common hashing functions we’re likely to need. To cover almost every use case you’ll only actually need a handful of these despite your interpreter probably supporting more.

To see the hashing functions guaranteed to be supported on all platforms:
>>> hashlib.algorithms_guaranteed
{'sha512', 'md5', 'blake2s', 'sha256', 'sha224', 'sha3_256', 'shake_256', 'sha1', 'shake_128', 'sha3_512', 'sha3_224', 'sha3_384', 'sha384', 'blake2b'}

Read More

Short or overly simple passwords are insecure. If you are using a short, memorized password then you need to change it often; if you are using a password manager use a long, complex password and you don’t need to change it as often. For short passwords do not use the first character as your required capital letter, and an exclamation mark at the end of the string as your one required non-alphanumeric character – don’t be predictable.

One further comment about passwords length, aside from what was mentioned earlier (length is more important than complexity) is that there is no good excuse for a website to not allow very long passwords. Passwords should never be stored by a site; they should always be storing a salted hash – which is a fixed length, regardless of the password length. Be suspicious of websites that do not allow fairly long passwords!

Read More

There are many hashing algorithms commonly used in cryptography and they have names like SHA1, MD5 and so on. These hashing methods have advanced in the past couple of decades, and although we commonly use the older ones in our everyday lives, it’s worth briefly looking at newer and better alternatives.

We explored the basic properties of hashing functions in the previous post about cryptographic hashing functions, what characteristics made them desirable, what types of programming applications they are commonly used in, and for what purpose.

Read More

How often should you change your password? Should you use a password manager? Should you store passwords in your browser? There are many common questions about passwords and password managers, so let’s take a look at a few of them.

How to choose a password manager? Do you really need one? 22% of 12,500 people surveyed, from 21 countries, said they wrote their passwords down in a notepad, 11% said they wrote it on a sticky note or piece of paper, and 11% said they stored it in a file on dropbox or similar. None of these behaviors is secure in the way that using a password manager is, so go ahead and make the switch.

Read More

Hashing is an essential part of modern software systems, and we’re going to explain what you need to know to use them in your programs. We’ll be focusing mainly on the terrific hashlib module in Python. We also want to stick to the most secure and most widely used cryptographic hashing functions, although there certainly are plenty of others.

This is probably going to be a three part series of posts because I want to first explain what hashing is, why it’s useful and what types of things we would use it for. Hashing functions are widely used in programming and it’s not always clear why things are done the way they are, so a quick intro to the basic ideas will probably go a long way to address that. Slightly different types of hashing functions are useful for different tasks due to the subtle differences in their underlying properties, so it’s useful to compare and contrast specific hashing functions and look at specific progamming use cases.

Read More

Passwords have been the preferred method of authenticating users since the earliest days of the Internet, and they continue to be used to this day to authenticate users. The security issues are well known, but few people consider the privacy pitfalls.

Our most private digital data are protected by passwords, yet people are generally lacking in the skills needed to use passwords effectively. This is due partly to the ever growing number of websites we need to access with credentials, and partly due to the need to use increasingly complex passwords.

Password cracking using common programs is amazingly easy for bad passwords. A best practice is to check a password you’re about to use against a database of compromised passwords, because these lists of common, cracked passwords are often used to try to guess yours – but we’re getting ahead of ourselves.

Read More

Smart cities hold great potential and solve all sorts of problems that our analog cities suffer from. So say the technologists that envision highly connected systems of sensors and devices that are managed by AI systems. How smoothly and efficiently our cities will be run they say, offering us many advantages based on that interconnectivity and alleviating so many current problems.

Smart cities seem to come with some inherent dangers too, such as the risk of security flaws being exploited. Being smart also means having lots of information about what is going on in the city, and this increases the odds of privacy issues arising from the gathering, transmitting, analyzing and storing of so much information including data about the people in a smart city.

Read More