Tag Info

New answers tagged

0

The general class of algorithms are called secret-strengthening protocols. The idea is that Alice has a weak secret, p, and by conducting a short handshake with Bob, who knows a strong secret, N, Alice derives a combined secret H(p,N) which is a strong secret. Secure Remote Password is an example of such a secret-strengthening protocol combined with a ...


1

I would trust a USB or SD card over transferring it via an Internet connection. Once you put the gapless computer on the Internet, you have no idea what's going to come down the pipe. Applications might start auto-updating, in which case you are downloading and installing EXEs from untrusted sources over an untrusted network, which is exactly what you are ...


2

If you use PBKDF2 then you are using a salt, because that's how PBKDF2 is defined: it is a function which takes as input a password and a salt. So there is already a salt somewhere. Or else Bob is using a "fixed salt", i.e. not a salt at all, and we can say that Bob is not really running PBKDF2. Salts need not be secret. Their virtue is in being unique (as ...


4

Diffie-Hellman is a key exchange algorithm. The good question to ask is: exchanging a key, yes, but with whom ? From a network point of view, you "see" other people only through the packets they send to you; and since everybody can buy the same kind of PC, everybody can send the same packets -- except that some people/system may know some values that other ...


1

You could try Boxcryptor. I haven't used it personally, but it looks like you can manage and create groups for secure file sharing. The video on how to do secure file sharing on their site. Which is included in the free version of their software. I know it isn't a service, but have you looked into using PGP/GPG? With PGP/GPG you can create a ...


1

Citrix ShareFile is one such service. It is primarily used for transferring large files, but you can encrypt them. It's not free, though.


2

You can be absolutely sure the traffic doesn't leave your machine, if you use the loopback interface (IP 127.0.0.1) for addressing the server itself. See this question. Communication on the loopback interface doesn't just not leave the machine, it doesn't even enter your network card. It is fully emulated by your OS (at least in linux).


1

As far as I know, it will never leave the machine. If you want to test it by yourself, traceroute is a great tool. Just write traceroute <IP address> and you will be able to see the package route throughout the network. I've just done it with my Macbook and got a single hop as response (indicating that the packet didn't have to leave my machine).


1

It is better to use non-sequential identifier (you can then log / monitor for attempts to access non-existent files for example) however by no means essential and its unlikely to fail an audit provided the role / authorization scheme you have in place is robust. You want to be sure you have full coverage of authorisation checks on access to "things". You ...


2

Diffie-Hellman on its own does not provide any authentication. It is true that if two parties agree on a key with DH, third parties that are simply sniffing the traffic are unable to find out the exchanged secret key. However, DH can be attacked by an active MITM that creates two key exchanges with the same public parameters. One from the client to the ...


1

As others have noted you can never trust the client, ever. You can make it difficult for people but there will always be attacks they can perform: Artificially inflate measure of round trip time (RTT) Extract encryption keys Alter local clocks Monitoring for suspicious behavior / timing irregularities may be possible though extremely difficult. For ...


1

There have been compromised certificate authorities - and the list of trusted authorities is very long and geographically dispersed. I would certainly consider nation states to potentially have the ability to orchestrate this sort of attack. The only real solution to this problem is certificate pinning or using another layer of encryption on the payload ...


5

Here's Diffie-Hellman for a student - a five year old does not understand logarithms ;-) DH uses two ideas: exponentation is fast (2 to the power 3 equals 8) but the reverse process (an exact logarithm) is very time-consuming to do. In reality we take large numbers, but for the sake of explanation small numbers here. exponentation is commutative, i.e. 2 ...


4

When you connect to a site over HTTPS, your browser checks that the certificate was issued by a certificate authority that you trust (typically built into your OS or web browser) and that the certificate matches the domain of the website you are visiting. So if your ISP can get you to install a certificate corresponding to fraudulent certificate authority ...


0

Encryption makes sense only if: The encrypted value may come under the eyes of entities/people who should be denied knowledge of the value. Systems which must process the value can decrypt it. In your case, if you encrypt client-side, then this must be to protect against the server itself. However, if the server must be able to understand the data, in ...


0

pCloud Transfer is also a good option. It is a simple system for securely transferring files between two parties. The files get temporarily stored in the "cloud" but you can be sure that they will be unreadable to anyone who doesn't know the password you have to provide your recipient with. It's free and requires no registration to use it. I've been using ...


1

PCI compliance covers a lot of ground - anything that "stores", "processes" or "transmits" cardholder data. Different systems need to have different parts of the standard applied to them to maintain a cohesive whole. Your system would fall into the "processes" category. Your needs would be different for storage, etc. In the case you have outlined you can ...


0

The jsencrypt library implements RSA encryption in javascript which might be what you want but it sounds like you are attempting to create a more basic encryption implementation for educational purposes. I would suggest reading through this library's source and try to pull out pieces that would be relevant to your project.


1

Sure. Windows offers this natively. It's called Encrypting File System and here is a quick tutorial. There are also other alternatives. For a long time, truecrypt was the goto software in cases like these, but it got discontinued (under somewhat dubious circumstances). There are a lot of other alternatives as well. You have to try around and see which one ...


1

For encrypting in Google Drive use plugins. For example Prot-On, free Tool for Google Drive. You can encrypt and decide who and when access. http://www.prot-on.com


3

The criticisms about XTS make sense in a context when attackers can observe successive versions of the encrypted disk (i.e. the attacker steals your laptop, makes an image of the whole disk, then puts the laptop back in your bag, and you did not notice anything; and he does it again tomorrow, and the day after tomorrow, and so on...). With XTS, every 16-byte ...


1

With KVM and Xen, the rogue administrator can take a snapshot of your live machine, then explore at his leisure what is in the RAM of your VM. In particular, he will easily obtain the encryption keys for the encrypted filesystem, and then proceed to read all your files. By the very nature of the snapshot system, you will not notice it. With OpenVZ, you ...


1

As a rule, encryption provides confidentiality, not integrity. Depending on the algorithm, the attacker may have more or less control on what will show up after decryption. In any case, we are talking here about RSA, in which encryption uses the recipient's public key. As the name suggests, the public key is public (and keeping it "secret" can be hard). ...


0

I plan to communicate with my family across the planet who does not know much about encryption. Otherwise I would ask them to simply use GPG. In this instance, I like to make the communications simple. I prepare before hand, a small list of about 100 different passwords, randomly generated, each one is 40+ characters long, consisting of letters and ...


3

Use a clean PC or VM for your VPN connection and never ever use that system outside of the VPN. A VM will only work if your host is clean. If you install free games or random software then you SHOULD NOT trust your PC anymore. Never login to accounts that you use outside of the VPN !!! Create separate accounts for any service you use over the VPN. Never ...


13

Basically this is a transposition cipher. What you would do is looking for pattern and rearrange like with this text example: http://www.richkni.co.uk/php/crypta/trans0.php Your example with grey scale text would be easier as the picture on code golf because you could see very easy what is a correct solution.


21

The Code Golf is essentially to create an unkeyed 1:1 function to transform images. As such, it's highly vulnerable to chosen-plaintext attacks: if an attacker can convince Alice or Bob to transmit a carefully-crafted image, they can build up a map of what pixels get moved to where for that image size. Further, if the images being transmitted have ...


1

Regardless of what virtualization technology you use. Once the attacker has access to the hardware, it's game over. In case of a VPS, even when encrypting the root partition, if the key is stored in memory and you have no control of the hypervisor, then you cannot protect your system's confidentiality with encryption. Administrators with access to the ...


0

Alternatively you could setup a proxy that would allow incoming clients to connect to the proxy via HTTPS, and then the proxy can do the encryption/decryption, and get the actual data from the Pi - this allows the Pi to focus on the non-security related aspects of it and offload the HTTPS if that is indeed the issue - note that this requires a "secure" ...


1

I agree with the others that 'sent a packet' is an incredibly broad statement, but it's already been passed on 2nd hand from a script kiddie who may not even understand the exploit in the first place. I assume he's probably exploiting a buffer overflow or other low-level bug in the communication layer. Such exploits are specific to the particular app, ...


-1

I think both "hack with iPhone" and "sent a packet" are a piece of crap. There are many ways to crack a username and password. First, hacker can use "brute force attack" to try every possible combination of password. Some even use a rainbow table, it is a table of common password, so it takes less time to crack a password. Second, a hacker can inject a "key ...


0

The Windows Encrypting File System (EFS) would meet your usability requirements and probably the majority, if not all, of the PCI DSS requirements. However, I have not evaluated it against the DSS so I can't say for sure. You could turn on EFS for a directory structure and then point all your applications to write to subdirectories within that tree. ...


0

Constructing elliptic curves is computationally more expensive than choosing DH parameters. Constructing an elliptic curve is not a trivial task. I would recommend taking a look at the following question and the responses: Can custom elliptic curves be used in common TLS implementations?. As is mentioned in that thread, you are likely to run into ...


1

Speaking about encryption in general, not limiting it to RSA, if a man-in-the-middle modifies an encrypted message, the message will not decrypt as the same message you sent. It really depends on the encryption algorithm used. For example, if a block cipher was used, only the block with the altered data will fail to decrypt properly, the rest of the blocks ...


1

Assuming you have a password reset function (I'd be surprised if you didn't), I'd just blank/replace the hashes with something empty/useless. This way, nobody can log in, and the proper user can reset their password to regain access. You should consider using a better hashing technique than SHA-1. For simple passwords, there are Rainbow Tables and other ...


1

Generating random passwords and sending them to users is fine. But the most important thing to do, if not already done, is to warn ALL users that their passwords have been compromised and if they are using the same on whatever other website/app they absolutely have to change it.


2

The usual computations on password entropy take place in the context of a dictionary attack, especially an offline dictionary attack, where the attacker can try passwords at will without locking anything. When there is an auto-locking tamper-resistant hardware, the context changes. Conceptual view: there are N possible passwords (to simplify the exposition, ...


0

The client generates the 48-byte premaster secret by concatenating the protocol version (2 bytes) and some bytes that the client generates randomly (46 bytes). The client is supposed to get these 46 bytes from a cryptographically secure PRNG; in practice, this means using the PRNG offered by the operating system (/dev/urandom, CryptGenRandom()...). The ...


2

Yes, it's a violation of PCI-DSS Requirements, specifically requirement 3.4: Render PAN unreadable anywhere it is stored (including on portable digital media, backup media, and in logs) by using any of the following approaches: One-way hashes based on strong cryptography (hash must be of the entire PAN) Truncation (hashing cannot be used to ...


0

Yes, you can't write out unencrypted PAN. If someone could force a crash while that file is being worked on, it would leave it sitting around on the server for anyone to access and the file could potentially be read by other processes. There is no such thing as a "temporary" file. There are only permanent files you intend to get rid of soon. Also, ...


4

Since you generate the user-specific keys, you can also keep a copy of these keys somewhere (somewhere safe, preferably) and use them when needed. Alternatively, you can generate the keys with a cryptographic derivation system which uses a "superkey" and the user's identity. For instance, consider the following: The superkey is K. A user is identified ...


-1

The only way I can think of is to use asymmetric keys. Generate an asymmetric key pair KS on the server. Retain the private key from this pair and hand out the public key to every single user. Generate an asymmetric key pair KC for every single user. Let the user retain the private keys from their pairs and send the public keys to the server. Every time ...


2

Point compression does not lose information; that's the point. Technical details: suppose we are working in field Zp for a big prime p. The curve equation is: Y2 = X3 + aX + b for two constants a and b which define the curve. For a point (X,Y) on the curve, you can use the equation to recover Y2 from X alone. Since we are working in a field, Y2 can have ...


0

use it do define a key (…), which will then be stored as a session variable. Since the key is never stored anywhere except in the user's head (…) Although temporarily, the key is being stored in the server (eg. a basic session handler uses files in /tmp, a memory dump of memcached could reveal keys even after expired). You should check how is the server ...


0

The data is protected. The attacker can't decrypt its contents, not even with the (partial) plaintext (otherwise we would be talking of AES as a broken cipher). However, you also need to protect the integrity. For example suppose that the survey contains some Yes/No questions and we were encrypting in CTR mode. If Eve has access to the answers to the ...


3

When the user do the first login your software will ask for a new password. At this time the DB should be empty. Now you have a UserPassword and an empty DB. So the software generate a new random DBdataKey that will be used to encrypt/decrypt the DB contents. To encrypt/decrypt use one of the many known algorithms, like AES or similar one. Now you create 2 ...


0

You seem to be begging the question here. I would no more try to convince my mother that she needs to use encryption than I would try to convince her she needs to use a chainsaw or an oxyacetylene torch when she shows no interest in those things. How does littering the internet with abandoned and poorly secured private key files, and littering the public ...


1

With --sign, the message data is encapsulated in a container which also includes the signature value. The container formally consists in bytes, which cannot all be mapped to printable characters: that's your "binary gibberish surrounding the message". This "container" is what is described in RFC 4880. By using --armor, you instruct GnuPG to apply Base64 ...


4

When you use a re-webber proxy (a website where you enter a URL and it shows you the content of that url in its own context), using TLS between you and the end-website becomes impossible, even when the proxy would want to provide it. When you enter https://google.com in the proxy you linked, you get redirected to ...


0

Aside from possible flaws with SSL, you can make sure the certificate belongs to the site you're visiting. If SSL is secure, then your data should be secure as well. I'm not too certain on the feasibility of faking certificates, but generally what I've read is if it's signed by the proper authority then it's real. I would do some research first, although I ...



Top 50 recent answers are included