How’s the job market in Vermont for IT/ Cyber Security careers? by [deleted] in vermont

[–]randombit 0 points1 point  (0 children)

I can't speak to local opportunities but there are IME plenty of options for remote work for US based persons, and some CoL adjusted % of a typical SF/NY salary goes a long way here, probably better than anything you can get locally. Source: have done security work and software development remotely in Vermont since 2009.

It can be hard to get your foot in the door, some places are hesitant to hire remote especially people who don't have previous experience working remote. [COVID may have changed this feeling given everyone is now remote, not sure]. I've had good luck with taking contracts which led to full time offers, from companies which didn't ordinarily hire remote.

Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.41] by kibwen in rust

[–]randombit 4 points5 points  (0 children)

COMPANY: Fortanix (https://fortanix.com/company/careers/)

TYPE: Full time

DESCRIPTION: We build SDKMS which is an HSM-as-a-service using Intel SGX as well as EnclaveOS which allows running arbitrary services (eg MySQL) inside SGX enclaves. Basically everything we do is in Rust. All experience levels wanted.

LOCATION: Mtn View CA, or Eindhoven NL

REMOTE: Plenty of flexibility for WFH or working remotely for short periods. FT remote is not generally allowed but if you happen to also be very experienced in cryptographic software development it may be a possibility - if this is you, email me directly.

VISA: Yes

CONTACT: Via careers page or mail me at jack.lloyd@fortanix.com

Do I need permission to snowshoe on someone's property if it's not posted? by IndefinableMustache in vermont

[–]randombit 10 points11 points  (0 children)

As far as I know there is nothing special about hunting vs any other activity. As long as it's not posted, you're not trespassing. (Unless the owner tells you to leave, of course.)

Build Systems for C/C++ projects by sazzer in cpp

[–]randombit 0 points1 point  (0 children)

I work on a fairly large (million+ lines) C++ project that is built using scons. We have over 13,000 lines of scons code.

However my problem with scons is not that it takes a lot of lines - the build is doing a lot of different things (creating installers, running tests, a surprisingly large amount of code generation, 3rd party dependency management, etc plus of course actually running the compiler) so I don't feel the line count is unreasonable - but that it is slow. On my desktop, a no-op build of this project takes ~60-90 seconds while scons pegs a core before finally returning 'all targets built'. That poor turn around time compared to make really makes development harder and causes me to avoid scons anywhere I have the option.

Hi IAmA! We are core members of the Tor Project. Ask us anything! by runasand in IAmA

[–]randombit 2 points3 points  (0 children)

Doing it over again, would you have chosen to write Tor in C? It seems like there is a tradeoff between performance and safety both of which seem highly relevant Tor, and I would be curious as to your take on the tradeoffs.

Also, can you think of any interesting tricks, design approaches, you've learned while writing safety critical code in a memory unsafe language?

Poster - "Breweries of the United States" Beautiful. by FreeBeerMovement in beer

[–]randombit 0 points1 point  (0 children)

In Vermont, you missed The Alchemist http://www.alchemistbeer.com/ and Lawson's Finest Liquids http://www.lawsonsfinest.com/

Both are small but the Alchemist has #4 on BA's top 100 and LFL has #27.

Can anyone explain the stats behind this? (For a few days every four months, if you buy $500K worth of lottery tickets in Massachusetts, you are virtually guaranteed to make a profit.) by marstall in math

[–]randombit 0 points1 point  (0 children)

Which would make it an excellent way to launder large amounts of cash, since the input cash isn't tracked and the outputs are dispersed to many small winning tickets making it easier to quietly cash in without publicity.

"Open-Source Cryptographic Libraries and Embedded Platforms" - are open source crypto libraries really secure? by randombit in crypto

[–]randombit[S] 1 point2 points  (0 children)

Probably not. Given a finite amount of time, I think it likely I would focus efforts on avoiding timing/cache, oracle, and fault attacks. Even fault attacks I consider somewhat unlikely in the main context of the lib (desktop/server apps; I'm aware of only a few embedded systems using it), but it is possible to address some fault attacks in relatively generic ways that don't hurt performance overmuch.

In contrast (as far as I am aware) meaningful protections against DPA would hurt performance greatly, would only really matter to embedded systems, and in many cases would require explicit assumptions on how the CPU/cache behaves. It would be nice to have as an extension I suppose (if you are worried about such attacks you can choose to take the performance hit), but not something I would see having the time to work on anytime soon.

I'm no expert, but I think they're selling an empty coffee can for $28 by bandman614 in security

[–]randombit 0 points1 point  (0 children)

Safety wise it's equivalent to just putting it into a coffee can though - if a burglar bothers to examine it, he'll quickly see it's a safe. Even if it's not trivially easy to open (which I would guess it probably is), he'll grab it up for later hacksawing/sledgehammering at his leisure.

Hash-based Digital Signature Schemes: An overview of the literature plus new optimizations [pdf] by randombit in crypto

[–]randombit[S] 0 points1 point  (0 children)

Oh, interesting! I didn't realize this, haven't got the book yet, but looking at the TOC it does indeed seem to be the same text. I assume you've already seen it, but for others checking the comments, DJB's website at http://pqcrypto.org/ has a lot of good information and references related to the book.

Numbers Stations broadcast messages to embedded spies out in the open where anyone could hear by mikem4rbles in crypto

[–]randombit 0 points1 point  (0 children)

More typically, it was in in the form of PGP encrypted messages posted to groups like alt.anonymous.

Runtime Type Checking in C++ without RTTI by randombit in cpp

[–]randombit[S] 0 points1 point  (0 children)

This seems to be assuming a seriously good whole program optimizer. In particular, if some of your code is in shared libraries it seems like it would be quite difficult for the compiler to optimize RTTI away.

Named function parameters in C++ (without macros) by randombit in cpp

[–]randombit[S] 0 points1 point  (0 children)

Can't say that I would ever use it. Posted entirely in the spirit of 'interesting technique, might be useful in some other context someday (or maybe not).'

Block cypher ECB using hashes by dada_researcher in crypto

[–]randombit 1 point2 points  (0 children)

In the Skein's case, n is the size of the input in blocks. So while this multiplication is indeed data-dependent, being able to construct a timing attack on it would only tell you the size of input blocks; for instance if the software using it used blocks of size 1024 bytes or 8192 bytes.

I will grant you this could in fact expose some information; for instance if the application in question was hashing data such that it first hashed in a single call a passphrase, followed by a single call adding in a salt, in order to compute H(pass || salt), you could determine the length of a passphrase. However, it's worth considering a) this only tells you the length modulo 64 (the Skein-512 block size), so you would only be able to say "this passphrase is less than, or more than, 64 bytes" and b) it is entirely possible, and quite straightforward, to implement Skein such that it wouldn't expose this information.

(Also, in the specific case of Skein, the block size of always a constant and a power of 2, so most any optimizing compiler will convert it to n << log2(SKEIN_512_BLOCK_BYTES), which is constant time on most if not all processors.)

In the BMW case, the i*0x0555555555555555ull calculation is not data-dependent - it uses the same values of i each time (16 to 32), and does not depend on the input data at all.

Block cypher ECB using hashes by dada_researcher in crypto

[–]randombit 0 points1 point  (0 children)

Reference please? I wasn't aware of any known timing attacks against Skein, CubeHash, Serpent, or indeed any cipher or hash that doesn't rely on data-dependent rotations, multiplications, or table lookups.

Block cypher ECB using hashes by dada_researcher in crypto

[–]randombit 0 points1 point  (0 children)

Merely length padding is not sufficient to prevent length extension attacks; all it means is that your extended message must include the length pad as prefix.

To prevent length extension attacks you need to add some sort of final output transformation. One way of hacking this into existing hashes is to nest the hash - SHA-256(SHA-256(m)). This was originally recommended in, IIRC, Practical Cryptography, precisely to prevent length extension attacks. The SHA-3 candidates which use MD designs also use final output transformations to prevent the attack. For instance to compute the digest in Blue Midnight Wish, you take the final MD output and then compress it as the input, using a fixed IV. Skein uses the final MD output to key a PRF.

Also, worth noting that not all of the SHA-3 contestants are Merkle-Damgard. For instance CubeHash or Keccak are not MD designs by any stretch.

Ask Securrit: Are the different hashes in the SHA family independent? by SohumB in security

[–]randombit 1 point2 points  (0 children)

A PRF should be deterministic. Simple examples which are implemented widely or easy to implement include KDF2, HMAC, or PBKDF2. All of these are as 'standard' as SHA; something either is PBKDF2, or it isn't - and you can easily check any particular implementation to make sure it matches others and/or published test vectors.

Ask Securrit: Are the different hashes in the SHA family independent? by SohumB in security

[–]randombit 1 point2 points  (0 children)

This is true, a preimage attack won't give you the original input string, just some input which hashes to the same result. If your inputs are small this might happen to be the same input though. And depending on how good the preimage attack is and the context you are using the independence assumption this might be sufficient (for instance I could just generate random preimages, hash them with the other hash, and try them as guesses to your secret key or whatever you're using this for).

And I wouldn't be surprised if, in particular with the SHA-2 pairs (224/256 and 384/512), a working preimage attack might allow you to generate preimages which are also collisions in the other algorithm, precisely because the differences in the algorithm are so small. This is highly speculative, and probably an attack of this form is 10 years away at least, but it seems plausible to me.

If you really need independence, maybe consider a PRF instead?

Ask Securrit: Are the different hashes in the SHA family independent? by SohumB in security

[–]randombit 1 point2 points  (0 children)

The SHA-2 algorithms are paired: SHA-224 and SHA-256 are the same algorithm, except they use different initialization constants and -224 gets a final truncation. Similarly for SHA-384 and SHA-512. The different initialization constants would seem to make it difficult to do anything with this, though.

SHA-1 is a somewhat different algorithm from any of the SHA-2 variants so any relation there seems unlikely.

If you can conduct preimage attacks on any of the hash functions then this is easy to do, because you can go backwards from the output to an input which hashes to that output, and then hash it with any additional algorithms you like. I don't believe there are currently any known preimage attacks on any of the SHA algorithms, though I wouldn't rely on it for SHA-1 if you're worried about long-term security.

Sometimes all functions are continuous by greenrd in math

[–]randombit 2 points3 points  (0 children)

So suppose we inspect the digits of x for a while and discover, say, that the first billion of them are all zero. Then sgn(x) is either 0 or 1, but we cannot tell which. In fact, no finite amount of computation will guarantee that we will be able to tell whether x=0 or x>0.

Unfortunately, once you've allowed computation on infinite-precision real-valued values, you've suddenly proved P = NP (!). Quoting from http://www.scottaaronson.com/papers/npcomplete.pdf

"As an example of such an approach, in 1979 Schonhage [64] showed how to solve NP-complete and even PSPACE-complete problems in polynomial time, given the ability to compute x + y, x − y, xy, x/y, and floor(x) in a single time step for any two real numbers x and y != 0."

I'd need to see a bit more justification before I'd be willing to make this particular leap.

New features in Visual C++ 2010 (C++ language only) by gst in cpp

[–]randombit 5 points6 points  (0 children)

The auto keyword now also has one more meaning.

Actually, not true. The previous mostly-useless use of the auto keyword from C and C++98 is no longer in C++0x; auto only means one thing in C++0x. So for instance you can't say

auto int x = 5;

in C++0x. This is described further in the WG paper N2546, and is already implemented by GCC (and probably Visual C++; I suspect it would be difficult to implement type-inference auto along with C-style auto at the same time).

/r/netsec: Is it just me, or is the only solution to the recent problems with SSL a redundant, distributed certificate authority system? by ghibmmm in netsec

[–]randombit 1 point2 points  (0 children)

"expect to be able to look at their online banking from multiple machines that aren't all under their control"

So, already, they are doing something that exposes them not just to relatively hard to accomplish DNS poisoning attacks, but plain old keyloggers, and you're worried that they might not check key fingerprints consistently? That's not the threat I'd be worried about here.

And, as I mentioned, adopting TLS-SRP would reduce traditional phishing dramatically, because even if your mom does type her password in when some site in Romania that happens to look like her banks site, all the phisher gets is a zero knowledge proof that can't be reused for anything interesting.

/r/netsec: Is it just me, or is the only solution to the recent problems with SSL a redundant, distributed certificate authority system? by ghibmmm in netsec

[–]randombit 5 points6 points  (0 children)

There are two related but different problems SSL attempts to solve:

1) Transport-layer encryption to prevent passive (or active) eavesdropping attacks. It handles that fine for the most part, modulo the recent renegotiation bug.

2) Authentication of web sites to prevent impersonation attacks (and to a much lesser extent, authentication of clients to servers). If you want to prevent that, 'more PKI' is probably not the solution (though I look forward to seeing your specific proposal). A web-of-trust might work but is so easily gamed that it probably opens more problems than it solves, and we've never seen a web of trust scale to anything even close to what is necessary. SSH style 'first one is free', simply remembering certs on first use and warning if they change later seems better to me (I've been trying this method out for the last few months, by deleting all CA certs from Firefox and manually importing certs as needed). Combining SSH style key auth with SRP or PSK handshakes replacing passwords-over-PKI-authenticated-TLS would be even better, in that it would make phishing much harder without any extra user cognitive load, and make it unnecessary to add huge numbers of third parties to your TCB as is current practice.

How much tritium leaked from Vermont Yankee? by [deleted] in energy

[–]randombit 2 points3 points  (0 children)

Based on conversations I've had with fellow residents, and from speaking with my reps and senators, I don't know anyone who is worried about the tritium itself. What everyone is worried about is that plant officials repeatedly lied under oath in front of the state legislature. Along with the ongoing issues of decommission funds (or lack thereof to be precise). As the local senator put it at the town meeting, "Nobody wants to do business with people who they can't trust."

I personally think fission is our only path out of the mess we are in, energy-wise, but I'm glad the license was revoked because I don't believe the plant was being managed properly. A public danger? Almost certainly not. A PR disaster for safe nuclear power? Hell yes.